C#,WCF,通过dll隐藏Web服务

时间:2011-09-23 09:14:44

标签: wcf

在我的dll中,我有一个Web服务的服务器引用。此WCF Web服务对于使用dll的客户端应用程序可见。有办法防止这种情况吗?

感谢。

2 个答案:

答案 0 :(得分:3)

添加服务引用时,单击“高级”按钮。这将为您提供将所有客户端服务类生成为内部而非公共的选项。

enter image description here

答案 1 :(得分:0)

如果引用内置在URL中,那么您将必须处理它将可见的事实。另一种方法是不使用服务引用。通过在代码中使用WCF通道堆栈,您仍然可以在没有服务引用的情况下调用服务。

为此,您的客户端只需要引用服务接口以及服务操作中公开的类型。然后,您可以使用ChannelFactory<ServiceInterface>("NameOfServiceInConfigFile").CreateChannel()返回代理。