Удаленный доступ к Nancy Self Host - PullRequest
15 голосов
/ 18 декабря 2011

Я создаю модуль Nancy, который в конечном итоге будет размещен внутри службы Windows.В настоящее время я запускаю его внутри тестового приложения WPF.Чтобы запустить хостинг Nancy, я использую Nancy.Hosting.Self и звоню:

nancyHost = new Nancy.Hosting.Self.NancyHost(new Uri("http://localhost:8080"));
nancyHost.Start();

На моей локальной машине я могу зайти в веб-браузер и получить доступ к своему модулю, введя http://localhost:8080 в адресную строку.

Если я перехожу на другую машину, я не могу получить доступ к услуге.Мой брандмауэр Windows отключен.

Если я запускаю хостинг с помощью чего-то отличного от localhost в baseUri, я получаю исключение «доступ запрещен» при вызове nancyHost.Start ();

Isчто-то, чего мне не хватает?Можно ли получить доступ к модулю Nancy с любого компьютера, если я знаю IP: порт для компьютера, на котором выполняется хостинг?Есть ли какой-либо тип "заголовка узла", о котором мне нужно знать?

Спасибо за вашу помощь в этом.

Ответы [ 3 ]

25 голосов
/ 18 декабря 2011

Windows не позволит вам прослушивать порты без разрешения. Вы можете запустить процесс от имени администратора или добавить разрешение с помощью «netsh»:

netsh http add urlacl url = http://+:8080/app пользователь = домен \ пользователь

«+» - это подстановочный знак, поэтому он может прослушивать любой IP-адрес.

Обычно вы справляетесь с последним во время установки, так что вы можете запустить отладку с правами администратора, а затем убедиться, что установщик установил соответствующие разрешения.

0 голосов
/ 24 сентября 2017

Посмотрите это: Self-Hosting-Nancy

Конфигурация хоста: UrlReservations, добавьте под кодом:

var configuration = new HostConfiguration
        {
            UrlReservations = new UrlReservations { CreateAutomatically = true }
        };

ОК, вы можете создать свойпройдет! ~

0 голосов
/ 21 августа 2014

Для локальной отладки используйте

http://+:8733/Design_Time_Addresses

Вы можете добавить любой подкаталог, например,

http://+:8733/Design_Time_Addresses/myService 

и отладить его на

http://localhost:8733/Design_Time_Addresses/myService

без запуска вашей IDE (Visual Studio?) От имени администратора.

...