我有一個服務器上安裝Ubuntu的是16.04,這裏是一個lsb_release -a
輸出:ASP.NET 2.0核心應用的WebAPI 16.04
我試圖讓我的ASP.NET核心2.0應用程序(webapi)在此服務器上運行。我的目標是在端口8000上運行Kestrel服務器,這樣我就可以從任何遠程主機(不僅從本地主機)調用它。
讓我告訴你,我迄今所做的:
我安裝了.NET的核心:
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
我創建了一個應用程序:
DOTNET新的WebAPI -n webapi 我在這裏得到一個錯誤,表示無法在某些/ tmp/...目錄中獲得鎖,但dotnet新命令本身成功。我認爲它必須是某種權限問題,所以我在項目目錄中應用了
sudo dotnet restore
命令,並且它都很好。- 我用
dotnet run
運行應用程序,並得到消息說Now listening on http://localhost:5000
。 - 我打開了另一個SSH會話和執行
curl -I http://localhost:5000/api/values/
但響應404:
我試圖改變Startup.cs到app.UseMvc()
,但app.UseMvcWithDefaultRoute()
它並沒有幫助 - 我仍然無法訪問我的ValuesController。
正如您所看到的,我無法運行開箱即用的應用程序。我錯過了什麼?
嘗試從控制器和startup.cs張貼代碼 – Liero