Я хотел бы подключиться к моему серверу Kestrel с помощью приложения ASP.NET 5, размещенного на нем с другого компьютера в той же сети. Является ли это возможным? Я могу выполнить ping мой компьютер из cmd, но я получаю «Connection timed out», когда я пытаюсь подключиться из веб-браузера (я набираю это: «http: // {my_kestrel_ip}: 5000 /»).ASP.NET 5 Kestrel connect внутри LAN
ответ
В папке проекта у вас должен быть файл с именем hosting.ini
. В этом файле по умолчанию, вы должны иметь что-то вроде этого:
server=Kestrel
server.urls=http://localhost:5000
Вам нужно, чтобы сервер HTTP прослушивает общедоступном IP-адрес, а также локальный. Для этого вы можете добавить дополнительный адрес, разделив их с помощью двоеточия:
server.urls=http://localhost:5000;http://{my_kestrel_ip}:5000
Хостинг.ini не работал для нас. Я должен добавить это в файл project.json. Я считаю, что файл host.ini устарел после Beta8.
--server.urls http://0.0.0.0:5000
или я предпочитаю следующее, которое, как я считаю, менее сбивает с толку.
--server.urls http://*:5000
Таким образом, у вас получится что-то подобное в вашем проекте.json.
"commands": {
"web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://0.0.0.0:5000",
"ef": "EntityFramework.Commands"
},
Да, я добавил свой URL к описанию команды, а не к файлу «hosting.ini». Но идея добавления этого дополнительного (не localhost) URL - это то, что я искал. –
Извините. Для уточнения 0.0.0.0 в поле адреса будет привязываться ко всем IP-адресам, а не только к localhost. В этот уик-энд я узнал, что * также будет работать, и я буду менее запутанным. –
Это должен быть принятый ответ. Это сработало. Кроме того, см. [Этот вопрос] (http://stackoverflow.com/questions/34212765/how-do-i-get-the-kestrel-web-server-to-listen-to-non-localhost-requests) для некоторых устранение неполадок. – AngryHacker
Просто сделал быструю проверку, которая, кажется, работает. Создайте файл host.json рядом с файлом project.json.
hosting.json:
{
"server.urls": "http://localhost:5000;http://192.168.1.4:5000"
}
project.json:
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel --config hosting.json"
},
В командной строке просто запустить dnx web
, выход:
Hosting environment: Production
Now listening on: http://localhost:5000
Now listening on: http://192.168.1.4:5000
Application started. Press Ctrl+C to shut down.
Вы получите firwall подсказку , примите его, и тадааа !! Вы можете получить доступ к сайту из локальной сети и локального хоста.
Это сработало! Большое спасибо!!! –