在Linux上运行Web Api 2(mono / xsp4?)

时间:2017-10-06 15:35:43

标签: .net linux mono asp.net-web-api2 xsp4

我是.NET Web API开发和单声道的新手,所以这个问题可能过于基本,但我一直无法找到在Linux上的xsp4中部署Web API 2项目的任何说明。它甚至可能吗?

我能够通过解决他们的.aspx文件轻松运行ASP.NET应用程序,但是一旦发布它,Web API应用程序就只是一堆.config和.dll文件。

如何在xsp4服务器中启动它,以便正确映射其中指定的所有路由?是从命令行完成的,还是需要配置文件?

1 个答案:

答案 0 :(得分:0)

以下是有效的基本方法:

  1. 为xsp4创建配置文件,我们称之为webapi.webapp。在配置文件中,定义此应用程序:

    <apps>
    <web-application>
    <name>MyWebAPI</name>
    <vhost>localhost</vhost>
    <vport>9090</vport>
    <vpath>/</vpath>
    <path>/home/me/MyWebAPI</path>
    </web-application>
    </apps>
    

    说实话,我实际上并不知道vhost和vport是做什么的,但我现在不需要弄乱它。关键是路径和vpath。 Path是目录的物理位置,整个已发布的WebAPI项目位于主机系统的硬盘驱动器上。 Vpath是您在URL中指定的,用于访问您定义的此Web应用程序。由于我指定/作为vpath,这意味着此服务器上的几乎所有路径都将转到我的应用程序。因此,如果在应用程序内部我定义了一个路由,例如“/ webapi / v10 / users”,那么使用/ for vpath,它将通过“localhost:9090 / webapi / v10 / users”访问。 (有关如何设置端口,请参阅下一步。)

  2. 您可以通过以下命令启动xsp4:

    xsp4 --appconfigfile webapi.webapp --port 9090
    

    使用appconfigfile提供步骤1中创建的配置文件的路径,并在此处设置服务器将侦听的端口。我不确定这与配置文件中的vport有什么关系,我没想到这么想。

  3. 如果您需要HTTPS,xsp4似乎也支持它(基于其手册页),但我还没有尝试过。否则,即使您不使用mod_mono,我认为您也可以将Apache设置为反向代理。