503 Ошибка при использовании NancyFx с Owin
Я пытаюсь использовать NancyFx в сочетании с SignalR. Для размещения обоих я использую Microsoft Owin. Но, к сожалению, я всегда получаю 503 (служба недоступна), когда пытаюсь получить доступ к REST-API через PostMen (клиентское расширение REST-Api для браузеров Chromium). Поэтому я извлек основные ингредиенты в более простую программу, которая позволяет мне переключаться между Нэнси Селфхост и Оуэном. При использовании 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 работает с правами администратора, кроме того, в этом нет необходимости.
1 ответ
Решение
Мой коллега обнаружил ошибку в моей конфигурации netsh. У меня было два urlacls для одного и того же порта TCP:
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/
все работает как положено.