【发布时间】:2013-07-03 18:06:37
【问题描述】:
我在我们的站点上有一个托管在 IIS 7.0 上的实用程序 Web 服务。该服务由桌面客户端使用,由于它是一个实用服务,用户应该能够在不输入凭据的情况下访问它,因此在 IIS 中将身份验证类型设置为Anonymous。
现在的问题是服务 URL 可以被公众访问,并且在 Web 浏览器中输入它会将用户定向到此页面:
即使这不会为用户提供任何可能具有潜在危险的有用信息,但如果我可以隐藏该页面以防止公众访问,那仍然会很好。那么有没有办法阻止用户访问此页面,但仍然将服务本身公开?我知道 IIS 7 启用 URL 重定向,但我不知道添加时从 VS 发送的请求是否服务引用实际上与输入 URL 时从 Web 浏览器发送的请求有任何不同。任何帮助表示赞赏。
编辑
如 cmets 部分所述,一个选项是通过在运行时创建 ChannelFactory 来访问服务,但这需要将合约暴露给客户端,这是我试图避免的。
【问题讨论】:
-
@Jonesy 感谢您的链接,但该问题的答案基本上关闭了服务检测,我仍然需要能够从 Visual Studio 中引用它。
-
您需要服务参考吗?可以动态添加吗?
-
@Jonesy “动态”是指创建
ChannelFactory?但在那种情况下,我必须向客户公开合同,对吧? -
是的,你需要
标签: c# wcf web-services iis-7