我已经创建了一个自托管的Nancy/SignalR应用程序,它使用Microsoft.Owin.Host.HttpListener和在OWIN中自托管Microsoft.Owin.Hosting
事情在本地工作得很好但是一旦我尝试使用除localhost之外的任何东西来访问应用程序我就会收到HTTP Error 503. The service is unavailable错误.我甚至无法使用127.0.0.1或使用机器名称访问应用程序.
我已经尝试将端口添加到urlacl使用
http add urlacl http://*:8989/ user=EVERYONE 但似乎没有做任何事情.
这是我试过的OWIN启动选项,
var options = new StartOptions
{
Url = "127.0.0.1",
App = GetType().AssemblyQualifiedName,
Port = _configFileProvider.Port
};
var options = new StartOptions
{
App = GetType().AssemblyQualifiedName,
Port = _configFileProvider.Port
};
Run Code Online (Sandbox Code Playgroud)
这是启动和停止服务器的文件的源代码 https://github.com/NzbDrone/NzbDrone/blob/vnext/NzbDrone/Owin/OwinHostController.cs
我创建了一个简单的 Asp.net Web Api。当我运行代码时,Chrome 正在打开并从 sql server 数据库中获取 xml 数据。这是链接: http://localhost:50599/api/Menu/。这是我的输出:https : //i.stack.imgur.com/hKeZd.png
但是当我输入我的本地地址而不是“localhost”时,它给了我 400 错误。我的 II 正在运行。当我输入 127.0.0.1 或 192.168.1.104 或 localhost IIS 页面正在打开时。
我做了一切打开 127.0.0.1:50599/api/menu 或 192.168.1.104:50599/api/menu 但错误 400 apears。我变了
<binding protocol="http" bindingInformation="*:8080:localhost" />
Run Code Online (Sandbox Code Playgroud)
到
<binding protocol="http" bindingInformation="*:8080:*" />
Run Code Online (Sandbox Code Playgroud)
它对我不起作用。
我怎么解决这个问题。如果我可以完成这项工作,我将从 Android 设备访问此 Api。