从我所看到的,在IIS中托管WCF服务时忽略了标记.我明白,当自托管这是必需的,但这有害甚至在IIS下运行时使用?
恩.
<system.serviceModel>
<service blah blah blah>
<host>
<baseAddresses>
<add baseAddress="http://localhost/blah" />
</baseAddresses>
</host>
</service>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
从我所看到的,您可以从一台机器上获取描述服务的配置文件,并在完全不同的机器上使用它并且工作正常.看起来好像IIS完全忽略了这一部分.
谢谢,凯尔
我在IIS7中托管了一个WCF Web服务,它在其WSDL中将端点URL报告为以下内容
http://machinename/virtualdirectory/service.svc
Run Code Online (Sandbox Code Playgroud)
但是,客户端需要使用的实际公共URL实际上是
http://machinename.mydomain.com/virtualdirectory/service.svc
Run Code Online (Sandbox Code Playgroud)
因此,目前尝试使用此Web服务的客户端会失败,除非他们手动编辑端点URL.
我知道我可以通过在HOWTO中更改IIS中的站点绑定来解决这个问题:在IIS上修复WCF主机名但是在这种情况下,该站点与另一个应用程序共享,如果我这样做就停止工作,所以这不是一个选项.
是否有另一种方法可以更改WCF用于此虚拟目录的端点URL?