【问题标题】:WCF Hostname in wsdl and svc pagewsdl 和 svc 页面中的 WCF 主机名
【发布时间】:2011-08-05 14:18:32
【问题描述】:

当我部署我的 WCF 服务时,wsdl 显示为 导入http://hostname/servicename/xsd 我怎样才能让它有IP地址而不是主机名。 与浏览到 svc 文件时列出的 wsdl url 相同。

【问题讨论】:

标签: c# .net wcf


【解决方案1】:

您可以做的一些事情:
1. 将端点的地址更改为使用 ip 而不是主机名 - 这将在 iis 之外托管时起作用。
2.如果此更改的目的是允许用户使用服务器的IP添加引用,您可以添加useRequestHeadersForMetadataAddress服务行为,该行为将允许根据客户端用于获取WSDL的地址更改wsdl

【讨论】:

    【解决方案2】:

    在 IIS 上,您可以执行以下操作。打开CMD,输入:

    cscript.exe %systemdrive%\inetpub\adminscripts\adsutil.vbs get w3svc/<Website-ID>/ServerBindings
    

    查看当前绑定

    打开CMD,输入:

    cscript.exe %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/<Website-ID>/ServerBindings ":<PORT><IP>"
    

    这将导致在 WDSL 中具有 IP:PORT

    您必须先在 IIS 管理器(“站点”)中查找

    【讨论】:

      【解决方案3】:

      查看 Visual Studio 中的服务引用属性,将 url 从主机名更改为 Ip 地址。

      一般情况下,你不应该有硬编码的值,没有 IP 地址和名称,你可以将这些设置放在 web.config 或其他配置文件或数据库中,这样你就不必更改了当 IP 地址或主机名发生变化或者您只是部署在其他地方进行测试、生产等时会发生很多事情......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-11
        • 1970-01-01
        相关资源
        最近更新 更多