Mono上的Web API不断获得404



我目前正在尝试使用mod_mono和apache在OpenSUSE上运行一个非常简单/基本的Web API程序。

当从visualstudio运行时,代码在我的windows机器上完美地执行,然而,一旦部署到我的OpenSUSE盒子中,我在追踪路线时只收到404个错误。

我确信我正在部署到正确的目录,因为创建解决方案时自动生成的.css文件在web服务器上,当我输入路径时,我可以看到它。

但是,当我在浏览器中导航到网站根目录时,我看不到Web API初始页面,当我输入路径/API/Locations时,我在Linux服务器上也看不到与在windows/VisionStudio环境中输入路径/API/Locations相同的XML转储。

我认为我需要做一些事情来让Apache尊重我的路由文件,但我只是不确定这可能是什么。我还认为我可能需要调整发布的方式(我目前正在通过Visual studio通过FTP进行发布)。

我甚至不知道我现在不知道什么,我很想知道下一步该去哪里。浏览网页产生了很多非常陈旧/过时的结果,这些结果似乎毫无用处。

是。你是对的。mono官方文档无法使webapi工作。它可以让asp.net aspx网络应用程序正常工作。

对于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>

通过这种方式,我的localhost/api/my工作得很好。

谢谢https://www.oxfordcc.co.uk/blog/aspnet-web-api-on-linux-apache-with-mono

我不得不说,mono官方文档是非常基础的,不是最新的。

相关内容

最新更新