作为MVC和WCF(有点)的新手,我想问一个设计问题。我有一个简单的屏幕MVC应用程序。我需要调用一个WCF服务,它返回一个回复对象类型。为了从我的MVC应用程序中分离WCF调用,我创建了一个ServiceProxy
dll,它公开了一个名为RegisterWithService
的方法,并将它传递给一个IP地址。MVC与WCF服务设计
因此,MVC应用程序,调用
ServiceProxy.RegisterWithService(xxx.xxx.xxx.xxx);
方法,然后创建一个RegistrationRequest
对象,并发送到WCF服务。回复(RegisterResponce
对象)回复一个对象。
我的问题是,是不是OK来传递对象返回给MVC控制器来处理,还是应该建立某种形式的DTO的......从而使ServiceProxy
创建一个新的对象类型(也许,RegistrationDTO
,这与WCF应答对象具有相同的字段,并将其传递回MVC应用程序?我猜,这使得MVC不依赖于WCF对象...因此,服务合同中的更改只会导致更改代理类我创建 - 离开MVC应用程序隔离
这是否看起来是一个不错的设计
这意味着WCF服务对象会暴露给MVC应用程序。它是否正确? – Craig
是的,他们会被暴露。否则,你甚至认为如何使用这个WCF服务? –
这是一个有效的问题,但我的计划是使用服务代理类,它公开基本方法,并执行所有与服务相关的工作...然后返回...某事...到我的MVC应用程序。您建议我返回WCF服务对象,这意味着,我需要在我的MVC应用程序中引用WCF服务,这是我希望避免的 - 虽然,似乎端点需要位于MVC应用程序中,并传递给代理类...所以....我卡住了。 :) – Craig