错误请求 - Visual Studio 2013中包含Asp.net WebAPI项目的无效主机名

Fra*_*gio 21 asp.net iis azure visual-studio visual-studio-2013

我在Visual Studio Pro 2013中运行一个非常基本的webAPI项目.它在我的机器上的localhost上运行正常.然后我尝试从不同的机器转到浏览器并转到:57571类似于我如何通过将服务器ipaddress后跟端口号指向rails应用程序.然后我收到 错误请求 - 无效主机名 HTTP错误400.请求主机名无效.

我也通过在天蓝色中放置两台Windows机器来复制这个.一个正在运行的visual studio pro 2013.我运行相同的应用程序,它在本地工作正常.然后,如果我尝试从另一个VM指向它(在同一个虚拟网络上,我也可以ping服务器vm)我仍然得到错误请求 - 无效主机名HTTP错误400.请求主机名无效.

请注意,我不关心自定义domian我只是希望能够使用IP地址从另一台机器运行此应用程序.这可能吗?(如果有的话,我对错误做了什么想法?)这是我尝试过的不是我的 工作 这也没有让它工作

我怎么能告诉visual studio作为管理员运行?

(我正在使用Visual Studio运行的Windows Server 2012 R2.我关闭了两台机器上的防火墙)

Fra*_*gio 32

以下是我如何使用它.

Visual Studio 2013中转到C:\ users\yourusername\Documents\IISExpress\config\applicationhost.config

将以下行添加到applicationhost.config使其工作

<binding protocol="http" bindingInformation="*:53676:*" />
Run Code Online (Sandbox Code Playgroud)

这不起作用

<binding protocol="http" bindingInformation="<clientsIPaddress>:53676:*" />
Run Code Online (Sandbox Code Playgroud)

Vs2015更新以及此更改的确切位置application.config概述如下.

VS 2015的文件路径如下.

C:\Users\\{YourUsername}\Documents\Visual Studio 2015\Projects\\{ThisSolutionName}\\.vs\config\applicationhost.config 正如丹尼尔所说.

我在哪里把它放在我的application.config中?

下面是XML文件中您可以找到绑定的父节.

 <system.applicationHost>
           <sites>
              <site name="WebSite1" id="1" serverAutoStart="true">
                 <bindings>
                      <binding protocol="http" bindingInformation=":8080:localhost" />
               </bindings>
           </site>
      </sites>
 </system.applicationHost>
Run Code Online (Sandbox Code Playgroud)

对于一个没有在applicationhost.config中进行任何更改的新项目,这大致是第161行.

我没想到的是我认为客户端的IP地址,实际上并非如此.原因是我在Azure中有一个VNet到VNet连接,并且连接两个IP地址的网关重新分配运行我的应用程序的网络上的客户端IP地址.因此,我不得不查找它映射到的新IP地址,以便不使用该*:port:*策略

  • 这对于visual studio 2015不起作用.任何更新? (3认同)
  • 尝试以管理员身份运行Visual Studio.即使在更改application.config文件后,我也收到此错误.当我以管理员身份运行Visual Studio时,我得到了我的期望. (3认同)
  • 很棒,它为@JohnHenckel提供了帮助。很多时候,我质疑回答自己的问题还是删除问题,因为我认为某人遇到类似问题的可能性有多大。很高兴看到其他人从中受益 (2认同)
  • 在VS2017中,对于IIS Express上的Core Web应用程序,这不适用于我。但是,起作用的方法是相同的,但没有星号,即“ &lt;binding protocol =“ http” bindingInformation =“:53676:” /&gt;`,如下所示:/sf/answers/3423039161/ (2认同)

Dan*_*est 20

我无法发表评论,但想回答@EthanKeiser

Visual Studio 2015为每个解决方案都有一个单独的配置文件,您需要根据接受的答案进行更新.该文件位于:

C:\Users\\{UserName}\Documents\Visual Studio 2015\Projects\\{SolutionName}\\.vs\config\applicationhost.config
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

33377 次

最近记录:

6 年,9 月 前