Asp.net Mono上的Web API不断获得404
我目前正在尝试使用mod_mono和apache在OpenSUSE上运行一个非常简单/基本的webapi程序 当从VisualStudio运行时,该代码在我的windows计算机上完美执行,但是一旦部署到我的OpenSUSE框中,我在尝试跟踪路由时只收到404个错误 我确信我正在部署到正确的目录,因为创建解决方案时自动生成的.css文件位于web服务器上,当我放入路径时可以看到它 但是,在浏览器中导航到网站根目录时,我看不到Web API启动页,在Linux服务器上键入路径/API/位置时,也看不到与在windows/Visual Studio环境中键入路径/API/位置时相同的XML转储 我假设我需要做一些事情使Apache尊重我的路由文件,但我只是不确定这可能是什么。我也在想,我可能需要调整发布的方式(我目前正通过VisualStudio通过FTP进行发布)Asp.net Mono上的Web API不断获得404,asp.net,linux,apache,asp.net-web-api,mono,Asp.net,Linux,Apache,Asp.net Web Api,Mono,我目前正在尝试使用mod_mono和apache在OpenSUSE上运行一个非常简单/基本的webapi程序 当从VisualStudio运行时,该代码在我的windows计算机上完美执行,但是一旦部署到我的OpenSUSE框中,我在尝试跟踪路由时只收到404个错误 我确信我正在部署到正确的目录,因为创建解决方案时自动生成的.css文件位于web服务器上,当我放入路径时可以看到它 但是,在浏览器中导航到网站根目录时,我看不到Web API启动页,在Linux服务器上键入路径/API/位置时,也看
我甚至不知道我在这一点上不知道什么,并希望得到一些帮助,看看下一步。搜索网页产生了许多非常陈旧/过时的结果,这些结果似乎毫无用处。是的。你说得对。mono官方文档无法使webapi正常工作。它可以让asp.net aspx web应用程序正常工作 对于webapi 2.0,我已经编辑了httpd.conf,对AddHandler行进行了注释,这是mono官方文档建议的。然后,我在AddHandler行旁边添加了以下部分:
MonoAutoApplication disabled
#AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd
MonoApplications "/:/var/www/html"
MonoServerPath /usr.bin.mod-mono-server4
<Location "/">
Allow from all
Order allow,deny
SetHandler mono
</Location>
MonoAutoApplication已禁用
#AddHandler mono.aspx.ascx.asax.ashx.config.cs.asmx.axd
MonoApplications/:/var/www/html”
MonoServerPath/usr.bin.mod-mono-server4
通融
命令允许,拒绝
SetHandler单声道
这样,我的localhost/api/my工作正常
谢谢你,还有
我不得不说mono官方文档非常基础,不是最新的。我现在有了WebAPI,它可以在OpenSUSE和mono上完美地工作。需要注意的是,web.config和其他文件(包括网站样式的css)的大小写敏感性成为一个问题。此外,我还必须对xsp4进行完整的重建,因为默认情况下,来自yast的构建非常不完整。从这里开始,确保您在apache中正确设置虚拟目录非常重要,以便它们指向您的web api项目。在虚拟目录设置之前,我无法让它正常工作,并且xsp4被设置为要运行的服务器(xsp2是默认值,只会运行到.Net v2)。希望这对您有所帮助!