我对.NET Web API开发和mono都很陌生,所以这个问题可能会变得太基本,但我一直无法找到任何指示用于在Linux上的xsp4中部署Web API 2项目。它甚至有可能吗?在Linux上运行Web Api 2(mono/xsp4?)
我能够通过寻址.aspx文件轻松地运行ASP.NET应用程序,但是一旦发布它,Web API应用程序就只是一堆.config和.dll文件。
如何在xsp4服务器内部启动它,使其中指定的所有路由映射正确?它是从命令行完成的,还是需要一个配置文件?
我对.NET Web API开发和mono都很陌生,所以这个问题可能会变得太基本,但我一直无法找到任何指示用于在Linux上的xsp4中部署Web API 2项目。它甚至有可能吗?在Linux上运行Web Api 2(mono/xsp4?)
我能够通过寻址.aspx文件轻松地运行ASP.NET应用程序,但是一旦发布它,Web API应用程序就只是一堆.config和.dll文件。
如何在xsp4服务器内部启动它,使其中指定的所有路由映射正确?它是从命令行完成的,还是需要一个配置文件?
下面是已经工作的基本方法:
创建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>
说实话,我真的不知道什么是虚拟主机和虚拟端口做的,但我并不需要与那些乱七八糟现在。关键是路径和vpath。路径是在主机系统的硬盘驱动器上整个发布的WebAPI项目的目录的物理位置。 Vpath是您在URL中指定的内容,以便访问您定义的此Web应用程序。由于我将/指定为vpath,这意味着此服务器上的所有路径都将转到我的应用程序。因此,如果在应用程序内部定义诸如“/ webapi/v10/users”之类的路线,那么使用/ for vpath,它将通过“localhost:9090/webapi/v10/users”进行访问。 (请参阅如何设置端口下一步)。
你可以通过下面的命令来启动xsp4:
xsp4 --appconfigfile webapi.webapp --port 9090
使用appconfigfile提供的路径,在步骤1中创建的配置文件,并设置服务器将在其上侦听的端口。我不确定这是如何与配置文件中的vport相关的,我没有想到这一点。
如果你需要HTTPS,xsp4似乎也支持它(基于它的手册页),但我还没有尝试过。否则,我认为即使不使用mod_mono,也可以将Apache设置为反向代理。
您现在应该放弃Mono进行Web开发,并切换到Linux上的ASP.NET Core,特别是当您刚刚进入.NET世界时,https://docs.microsoft.com/en-us/aspnet/这就是未来是。 –
@LexLi这是我的计划B,如果我不能在单声道下运行。我知道Core是最好的新方法,但我有一个传统的应用程序,我宁愿用最小的努力在Linux上实现它(只需要使其足以演示)。据我所知,迁移到Core需要一些代码更改:https://docs.microsoft.com/en-us/aspnet/core/migration/webapi我宁愿避免,如果我可以帮助它。 – ovscodes