所以,我之前发布了将我的本地计算机上的有效WCF服务移动到开发服务器的麻烦。问题是当它移动所有引用时都是通过机器名而不是ip。由于我没有在域上访问它,我看不到机器名称,也无法访问引用。这是我以前的帖子(.NET WCF service references use server name rather than IP address causing issues when consuming)。
我找到了解决方案,但希望确保这是我问题的正确解决方案。并询问是否有其他人有任何其他意见?解决方案是更改IIS站点绑定。我找到了解决方案(http://blogs.msdn.com/wenlong/archive/2007/08/02/how-to-change-hostname-in-wsdl-of-an-iis-hosted-service.aspx)。唯一的问题是我可能必须为每个站点执行此操作,因为我使用的应用程序未托管,并且是在每个站点上安装的基于Web的解决方案。所以我可能必须在每个站点的构建中包含一个脚本。
我认为我可以在.config文件中进行此更改吗?
答案 0 :(得分:0)
处理此问题的正确方法是在IIS中为Web站点实例设置显式主机标头。现在,假设您只有一个应用于Web站点实例的主机头应该是您需要的全部内容。但是,如果您配置了多个主机头,则还需要明确告诉WCF哪个主机通过它自己公开。这是通过元素下的the configuration element完成的,以将服务绑定到该特定域。