Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用IP地址而不是本地主机时获取HTTP错误400_C#_Asp.net_Rest - Fatal编程技术网

C# 使用IP地址而不是本地主机时获取HTTP错误400

C# 使用IP地址而不是本地主机时获取HTTP错误400,c#,asp.net,rest,C#,Asp.net,Rest,我用C#和VS2015创建了一个带有Rest API的简单Web应用程序。web应用程序正在http://localhost:1623而且工作正常 现在我正在测试RESTAPI,用Postman发布一篇文章,我的url就是一个例子http://localhost:1623/api/foo/bar带有标题内容类型:application/json。一切都很好,我得到了正确的回答 我的电脑的本地IP地址是192.168.0.174,因此我将url更改为http://192.168.0.174:162

我用C#和VS2015创建了一个带有Rest API的简单Web应用程序。web应用程序正在
http://localhost:1623
而且工作正常

现在我正在测试RESTAPI,用
Postman
发布一篇文章,我的url就是一个例子
http://localhost:1623/api/foo/bar
带有标题
内容类型:application/json
。一切都很好,我得到了正确的回答

我的电脑的本地IP地址是
192.168.0.174
,因此我将url更改为
http://192.168.0.174:1623/api/foo/bar
现在我得到了HTTP错误400。请求主机名无效,为什么?不应该是一样的吗?。如果我尝试使用
192.168.0.174:1623而不是
http://localhost:1623
在我的浏览器中:


当我尝试使用IP从局域网中的其他设备使用API时,我会遇到相同的错误。我需要使用IP,因为我需要从我的网络访问它,为什么它不工作,我缺少什么?我尝试了,但没有成功。

IIS是一个多网站服务器。站点的方式不同于主机头名称。所以你需要在你的网站上设置它

请参阅此链接以进行安装:

通过回答编辑
applicationhost.config
解决了这个问题,即在VS2015中,它位于
[Project Folder]\.vs\config\applicationhost.config:

由于Jack答案中的链接URL目前不起作用 答案(至少对我来说)包含在另一个问题的答案中 问题,我会在这里重复答案:

可以设置多个绑定。因此,您可以设置绑定 对于您希望服务的每个外部地址,它将起作用:


也很有帮助。就我而言,我做到了:

<bindings>
    <binding protocol="http" bindingInformation=":1623:" />
    <binding protocol="http" bindingInformation=":1623:<my pc name>" />
    <binding protocol="http" bindingInformation=":1623:192.168.0.174" />
</bindings>

我有IIS 10,我找不到此网站的
多个标识
选项,但我在绑定中设置了此选项,但仍然不起作用
<bindings>
    <binding protocol="http" bindingInformation=":1623:" />
    <binding protocol="http" bindingInformation=":1623:<my pc name>" />
    <binding protocol="http" bindingInformation=":1623:192.168.0.174" />
</bindings>