在本地LAN上部署ASP.NET Web服务

时间:2013-10-06 10:03:05

标签: asp.net web-services

我刚刚在VS2012和Build Successful上开发了一个Web服务。 链接如:

http://localhost:55555/eTradingWebservice.asmx

但是当我改变这个时:

http://127.0.0.1:55555/eTradingWebservice.asmx

- >它返回BAD REQUEST - 我的Google Chrome上的主机名无效 在机器上是同样的问题(BAD REQUEST)

我检查了我的hosts文件,它包含字符串:

127.0.0.1 locahost

我尝试检查IIS服务,尝试使用以下链接:

http://localhost
http://127.0.0.1

一切都好。我使用VS2012在IIS8上部署我的项目

1 个答案:

答案 0 :(得分:4)

问题是由于IIS Express没有为您的Web服务项目绑定127.0.0.1并且只在applicationhost.config文件中绑定了localhost。您需要添加127.0.0.1绑定才能使其生效。

该文件位于[我的文档] \ IISExpress \ Config文件夹中,您需要搜索项目绑定并添加127.0.0.1,就像我在我的机器上的示例中所做的那样:

<site name="MVCApp" id="15">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="D:\Projects\MVCApp" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:55555:localhost" />
        <binding protocol="http" bindingInformation="*:55555:127.0.0.1" />
    </bindings>
</site>

您可能还需要使用netsh打开它:

netsh http add urlacl url=http://127.0.0.1:55555/  user=everyone 

完成后,您可以使用

删除它
netsh http delete urlacl url=http://127.0.0.1:55555/

请看Using IISExpress for addresses other than localhost!'但它可以在我的电脑上运行!'

建议使用管理权限运行IISExpress的最后一步/您可以通过以管理员身份运行VS或打开具有管理权限的PowerShell提示并运行命令来执行此操作

C:\Program Files\IIS Express\iisexpress.exe /site:MyWebProject