我使用OWIN
創建了C#控制檯應用程序,並且我在本地主機以外的應用程序的可見性方面存在問題。例如,如果我在URL中使用本地主機發出POST請求一切正常,但是當我將郵遞員中的URL替換爲我的全局IP地址時,它停止工作。端口被打開,我可以從外部計算機ping服務器。基於IIS的早期應用程序在此端口上使用此全局IP地址和端口工作良好。OWIN服務在網絡中不可見
_webApp = WebApp.Start<StartOwin>("http://localhost:8511");
上面的行應該包含我的全局IP或它可以是具有特定端口的本地主機?
全碼:
public class Program
{
public static int Main(string[] args)
{
return (int)HostFactory.Run(x =>
{
x.StartAutomatically();
x.Service<OwinService>(s =>
{
s.ConstructUsing(() => new OwinService());
s.WhenStarted(service => service.Start());
s.WhenStopped(service => service.Stop());
});
});
}
}
public class OwinService
{
private IDisposable _webApp;
public void Start()
{
_webApp = WebApp.Start<StartOwin>("http://localhost:8511");
}
public void Stop()
{
_webApp.Dispose();
}
}
public class StartOwin
{
public void Configuration(IAppBuilder appBuilder)
{
var config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.UseWebApi(config);
}
}
#UPDATE 我已經改變端口以適應8512,完全解鎖此端口並提出以下POST請求:
#UPDATE2
設置 _webApp = WebApp.Start<StartOwin>("http://*:8511");
和關閉整個防火牆它按預期工作後,所以它的網絡問題(serverfault.com)
解決方案
_webApp = WebApp.Start<StartOwin>("http://*:8511");
並添加新的防火牆規則(允許入站)這個應用
你檢查了你的防火牆設置嗎? –
@SteveB是的,我爲所有程序解鎖了TCP端口8511 – mkul
'請求主機名無效':這似乎不是網絡isse,而是更多的格式問題。你能告訴我們什麼是你想要連接的確切地址嗎?也許有一個錯字? –