wsdl和svc页面中的WCF主机名

本文关键字:WCF 主机 svc wsdl | 更新日期: 2023-09-27 18:04:50

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

wsdl和svc页面中的WCF主机名

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

在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管理器("站点")中查找

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

一般来说,你不应该有硬编码的值在那里,没有ip地址和没有名称,你可以把这些设置在web上。配置或其他配置文件或数据库中,所以当IP地址或主机名改变时,你不必改变太多东西或者你只需部署到其他地方进行测试,生产等等。