0

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

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

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

4

1 回答 1

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。路径是整个已发布 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 设置为反向代理。

于 2017-10-16T18:11:19.030 回答