将 NancyFx 与 Owin 一起使用时出现 503 错误
503 Error when using NancyFx with Owin
我正在尝试将 NancyFx 与 SignalR 结合使用。为了托管两者,我正在使用 Microsoft Owin。但不幸的是,当我尝试通过 PostMen(REST-Api 铬浏览器的客户端扩展)访问 REST-API 时,我总是得到 503(服务不可用)。所以我将主要成分提取到一个更简单的程序中,它允许我在 Nancy Selfhost 和 Owin 之间切换。
使用 Nancy SelfHost 时一切正常,但使用 Owin 时仍然出现 503 错误。
internal class Program {
private const bool _USE_SELF_HOST = false;
private static void Main(string[] args) {
if (_USE_SELF_HOST) {
var host = "http://localhost:7084";
UseSelfHost(host);
} else {
var host = "http://localhost:7084";
UsingWebApp(host);
}
}
private static void UseSelfHost(string host) {
var webhost = new NancyHost(new Uri(host));
webhost.Start();
Console.ReadLine();
webhost.Stop();
}
private static void UsingWebApp(string host) {
var nancyHost = WebApp.Start<Startup>(host);
Console.WriteLine($"Nancy started at {host}");
Console.ReadLine();
nancyHost.Dispose();
}
}
public class MainModule : NancyModule {
public MainModule() {
Get["/"] = x => "Hello world!";
}
}
我检查过:
- netsh http show urlacl - 我可以打开这个端口
- Visual Studio是运行管理员权限,除此之外应该不需要。
我的一位同事在我的 netsh 配置中发现了一个错误。我有两个用于同一个 tcp 端口的 urlacls:
Reservierte URL : http://wks-user:7084/
Benutzer: DOMAIN\user
Abh▒ren: Yes
Delegieren: No
SDDL: D:(A;;GX;;;XXX)
Reservierte URL : http://+:7084/
Benutzer: DOMAIN\user
Abh▒ren: Yes
Delegieren: No
SDDL: D:(A;;GX;;;XXX)
通过
删除第一个条目后
netsh http delete urlacl http://wks-user:7084/
一切如预期。
我正在尝试将 NancyFx 与 SignalR 结合使用。为了托管两者,我正在使用 Microsoft Owin。但不幸的是,当我尝试通过 PostMen(REST-Api 铬浏览器的客户端扩展)访问 REST-API 时,我总是得到 503(服务不可用)。所以我将主要成分提取到一个更简单的程序中,它允许我在 Nancy Selfhost 和 Owin 之间切换。 使用 Nancy SelfHost 时一切正常,但使用 Owin 时仍然出现 503 错误。
internal class Program {
private const bool _USE_SELF_HOST = false;
private static void Main(string[] args) {
if (_USE_SELF_HOST) {
var host = "http://localhost:7084";
UseSelfHost(host);
} else {
var host = "http://localhost:7084";
UsingWebApp(host);
}
}
private static void UseSelfHost(string host) {
var webhost = new NancyHost(new Uri(host));
webhost.Start();
Console.ReadLine();
webhost.Stop();
}
private static void UsingWebApp(string host) {
var nancyHost = WebApp.Start<Startup>(host);
Console.WriteLine($"Nancy started at {host}");
Console.ReadLine();
nancyHost.Dispose();
}
}
public class MainModule : NancyModule {
public MainModule() {
Get["/"] = x => "Hello world!";
}
}
我检查过:
- netsh http show urlacl - 我可以打开这个端口
- Visual Studio是运行管理员权限,除此之外应该不需要。
我的一位同事在我的 netsh 配置中发现了一个错误。我有两个用于同一个 tcp 端口的 urlacls:
Reservierte URL : http://wks-user:7084/
Benutzer: DOMAIN\user
Abh▒ren: Yes
Delegieren: No
SDDL: D:(A;;GX;;;XXX)
Reservierte URL : http://+:7084/
Benutzer: DOMAIN\user
Abh▒ren: Yes
Delegieren: No
SDDL: D:(A;;GX;;;XXX)
通过
删除第一个条目后netsh http delete urlacl http://wks-user:7084/
一切如预期。