簡體   English   中英

ASP.NET 5 Kestrel 在局域網內連接

[英]ASP.NET 5 Kestrel connect within LAN

我想從同一網絡中的另一台 PC 連接到裝有 ASP.NET 5 應用程序的 Kestrel 服務器。 是否可以? 我可以從 cmd ping 我的計算機,但是當我嘗試從網絡瀏覽器連接時我得到“連接超時”(我輸入:“http://{my_kestrel_ip}:5000/”)。

Hosting.ini 對我們不起作用。 我必須將此添加到 project.json 文件中。 我相信在 Beta8 之后,hosting.ini 文件將被棄用。

--server.urls http://0.0.0.0:5000

或者我更喜歡以下我認為不那么令人困惑的內容。

--server.urls http://*:5000

所以你最終會在你的 project.json 中得到這樣的東西。

"commands": {
        "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://0.0.0.0:5000",
        "ef": "EntityFramework.Commands"
    },

在您的項目文件夾中,您應該有一個名為hosting.ini的文件。 默認情況下,在該文件中,您應該有這樣的內容:

server=Kestrel
server.urls=http://localhost:5000

您需要讓 HTTP 服務器偵聽您的公共 IP 地址以及本地主機。 為此,您可以通過用分號分隔它們來添加額外的地址:

server.urls=http://localhost:5000;http://{my_kestrel_ip}:5000

剛剛做了一個似乎有效的快速測試。 在 project.json 文件旁邊創建一個 hosts.json 文件。

托管.json:

{
    "server.urls": "http://localhost:5000;http://192.168.1.4:5000"
}

項目.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.

你會得到一個防火牆提示,接受它,然后tadaaa!! 您可以從 LAN 和 localhost 訪問該站點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM