运行 网站 Api 2 Linux (mono/xsp4?)

Running Web Api 2 on Linux (mono/xsp4?)

我对 .NET Web API 开发和单声道都是新手,所以这个问题可能太基础了,但我一直无法找到部署 Web API Linux 上 xsp4 中的 2 个项目。有可能吗?

我能够轻松地 运行 ASP.NET 应用程序通过寻址他们的 .aspx 文件,但是网络 API 应用程序,一旦你发布它,只是一堆 .config和 .dll 文件。

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

这是行之有效的基本方法:

  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”,然后使用 / 作为 vpath,它将通过 "localhost:9090/webapi/v10/users" 访问。 (请参阅下一步了解如何设置端口。)

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

    xsp4 --appconfigfile webapi.webapp --port 9090
    

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

如果您需要 HTTPS,xsp4 似乎也支持它(根据其手册页),但我还没有尝试过。否则,我认为即使您不使用 mod_mono.

也可以将 Apache 设置为它的反向代理