【发布时间】:2014-01-26 05:31:20
【问题描述】:
我创建了一个基本的 WCF 服务库项目并将其部署到我的本地 IIS 安装 (7.5)。 每当我尝试通过 localhost/TestWcfServiceLibrary/ 导航到它时,我都会得到一个目录视图。
但是,如果我从 Visual Studio 以调试模式启动服务,我会收到系统托盘弹出窗口,告诉我它已被托管,然后当我返回 localhost/TestWcfServiceLibrary/ 时,我可以看到 wsdl . 一旦我停止调试模式并刷新浏览器,我就会回到目录视图。
配置文件中的基地址是 localhost/TestWcfServiceLibrary/ 所以我不明白为什么我会看到这种行为。
有趣的是,如果我导航到 localhost/TestWcfServiceLibrary/service.service1.svc(一个不存在的文件),即使调试模式关闭,我也会得到 wsdl。
所以我有 2 个问题。
1) 为什么 Visual Studio 中的调试模式对我是否可以从路径 localhost/TestWcfServiceLibrary 访问 wsdl 有任何影响? (我怀疑这是因为 wcf 服务在技术上不是托管在“localhost”,而是托管在提供而不是真正的 IIS 托管 Web 服务?)
2) 将 WCF 服务库直接部署到 IIS 时,使用服务合同的命名空间和类名指向 .svc 文件是否总是正确的,即使该文件实际上并不存在(I'我猜这就是 IIS 为您执行的魔法)?
【问题讨论】:
标签: c# wcf web-services iis