HTTP错误400 - 使用Topshelf的OWIN

Moh*_*iba 6 .net asp.net

我使用Owin和topshelf创建了一个Windows服务.
该应用程序是一个侦听端口9000的WebAPI,我已在防火墙规则中允许此端口.
当我在Windows Server 2008上执行.exe文件时,我可以在本地使用它(localhost:9000)
但是当我尝试从其他机器访问它时,我收到以下错误消息:

HTTP Error 400. The request hostname is invalid
Run Code Online (Sandbox Code Playgroud)

我错过了什么?请帮忙.

Moh*_*iba 14

这解决了我的问题,这对你来说可能是非常明显的,但对我来说并不是那么多.
而不是使用此代码:

WebApp.Start("http://localhost:8080/");
Run Code Online (Sandbox Code Playgroud)

我不得不用这个:

WebApp.Start("http://*:8080/");
Run Code Online (Sandbox Code Playgroud)

当然不应该忘记在防火墙中打开端口.


Ped*_*ias 0

也许是远程计算机上的主机条目?请记住,“localhost”指向当前计算机本身。您可能需要设置本地 IIS 服务器,将 WebApi 部署到该服务器,以便其他计算机可以看到它。

顺便说一句,您的 ASP.Net 开发服务器(Visual Studio 的内置服务器)无法为 localhost 以外的其他页面提供服务,因此您可能需要使用 Fiddler 或 Cassini 之类的东西来欺骗它,以在调试期间充当路由。

这里有一些相关的答案: Can I access ASP.NET Development server in an Intranet?

我希望它能帮助你