Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core ASP.NET Core 2.0 webapi应用程序无法在Ubuntu 16.04上运行_.net Core_Ubuntu 16.04_Kestrel Http Server - Fatal编程技术网

.net core ASP.NET Core 2.0 webapi应用程序无法在Ubuntu 16.04上运行

.net core ASP.NET Core 2.0 webapi应用程序无法在Ubuntu 16.04上运行,.net-core,ubuntu-16.04,kestrel-http-server,.net Core,Ubuntu 16.04,Kestrel Http Server,我有一台安装了Ubuntu 16.04的服务器,下面是一个lsb_发行版-a输出: 我正在尝试使我的ASP.NET Core 2.0应用程序(webapi)在此服务器上运行。我的目标是让Kestrel服务器在端口8000上运行,这样我就可以从任何远程主机(而不仅仅是本地主机)调用它 让我向您展示我迄今为止所做的工作: 我安装了.net核心: curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > m

我有一台安装了Ubuntu 16.04的服务器,下面是一个
lsb_发行版-a
输出:

我正在尝试使我的ASP.NET Core 2.0应用程序(webapi)在此服务器上运行。我的目标是让Kestrel服务器在端口8000上运行,这样我就可以从任何远程主机(而不仅仅是本地主机)调用它

让我向您展示我迄今为止所做的工作:

  • 我安装了.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
    运行应用程序,收到消息说
    正在收听http://localhost:5000
  • 我打开了另一个ssh会话并执行了
    curl-Ihttp://localhost:5000/api/values/
    但响应是404:
  • 我尝试将Startup.cs中的
    app.UseMvc()
    更改为
    app.UseMvcWithDefaultRoute()
    ,但没有帮助-我仍然无法访问我的值控制器


    如您所见,我无法运行现成的应用程序。我缺少什么?

    您缺少一个与定义的路由匹配的动词GET。 默认情况下-我将发送HEAD请求

    例如,对于GET:

    $ curl -I -X GET http://localhost:5000/api/values/
    HTTP/1.1 200 OK
    

    试着发布controller和startup.csOk的代码,我现在很尴尬-我想我在阅读curl的文档时没有注意。谢谢你,布鲁诺。