【发布时间】:2010-06-18 16:40:35
【问题描述】:
在单独的程序集中创建 WCF 服务,然后在同一解决方案中通过 Web 项目公开其端点的正确方法是什么?
【问题讨论】:
在单独的程序集中创建 WCF 服务,然后在同一解决方案中通过 Web 项目公开其端点的正确方法是什么?
【问题讨论】:
我是这样做的:
MyServiceLib
向您的 Web 项目添加一个像 MyService.svc 这样的文件,其中只有一个语句,ServiceHost 指令:
<%@ ServiceHost Service="MyServiceLib.MyService" %>
其中MyServiceLib 是WCF 服务的命名空间名称,MyService 是服务实现类的名称。 (这个简单的设置适用于将服务部署为已编译程序集的情况(例如在 Bin 目录中)。如果您想使用源代码部署并在第一次请求时进行编译,您需要将更多属性添加到服务主机指令(编程语言、源文件等)
web.config<system.serviceModel>部分。【讨论】:
我更喜欢将我的 contracts 和 implementations 分开在他们自己的程序集中,这有助于在未来基于相同的合约来替代实现。
【讨论】:
如果您同时控制服务器和客户端,则可以使用此链接中描述的方法:http://www.dnrtv.com/default.aspx?showNum=122
【讨论】: