将一个服务引用添加到项目中是否可以接受编程实践,其中被引用的服务是在同一VS项目中定义的? (服务和服务参考在同一个项目中)
示例:
MyWebAppProj
-Services
--MyService
- 服务参考文献
--MyServiceServiceReference.MyServiceClient
-Default.aspx.cs使用MyServiceServiceReference.MyServiceClient
这背后的理性是可以在项目中添加Silverlight应用程序。如果是,我们必须通过服务层公开所有业务逻辑方法,所以为什么不先这样做,并在各处使用它们在网页和Silverlight页面之间保持标准化。
答案 0 :(得分:5)
我不明白你为什么要这样做。
如果您已经在与服务相同的项目中,至少您已经可以访问所有服务/数据合同,所以实际上,调用该服务已经非常非常容易。您可以直接使用ChannelFactory,也可以编写自己的自定义ClientBase< T>来源客户端代理类(这是微不足道的), no 在这种情况下你想要添加服务引用的原因
此外,如果你添加了一个服务引用,那么你会在同一个项目中遇到一堆重复的定义,这没什么意义(是的,你可以将生成的代码隔离到一个单独的命名空间中,但仍然)