我想公开我的服务层(目前用POCO编写的标准类库),用于外部和内部消费。外部客户端将在REST样式API上使用它,而内部我的MVC应用程序将通过net.tcp绑定使用它以获得更好的性能。
我该如何优雅地做到这一点?我可以使用VS2010 Beta 2 REST功能和其他使用标准WCF绑定编写2个用于REST的包装器。
我可以在一个包装器中执行此操作吗?或者更好的方法是将我现有的服务重构为WCF,并使用WebHTTPBinding,WsHttpBinding等不同的绑定在各个端点上公开。
此致
的Ajay
答案 0 :(得分:1)
您的服务库只包含服务的实施 - 您的服务(和数据)合同应该在他们自己的“合同”程序集中。
托管和使用什么协议的问题由您的服务主机处理 - 这可以是IIS或单独的NT服务或控制台应用程序等。 完全与您的服务类和服务库无关。
所以是的 - 你可以轻松地创建一个服务库,然后在服务主机的众多端点上公开该服务 - 这两个东西应该彼此完全分开。
答案 1 :(得分:0)
当然,您可以在配置文件中添加更多内容或使用代码。
答案 2 :(得分:0)
VS 2010 Beta 2的REST功能本身构建于WCF之上,因此如果您想使用它们,您无论如何都必须将服务重构为WCF服务。此时,正如Dani和marc_s所说,您可以通过配置文件轻松地向服务添加其他端点。