Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Mono上的Web API不断获得404_Asp.net_Linux_Apache_Asp.net Web Api_Mono - Fatal编程技术网

Asp.net Mono上的Web API不断获得404

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/位置时,也看

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

当从VisualStudio运行时,该代码在我的windows计算机上完美执行,但是一旦部署到我的OpenSUSE框中,我在尝试跟踪路由时只收到404个错误

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

但是,在浏览器中导航到网站根目录时,我看不到Web API启动页,在Linux服务器上键入路径/API/位置时,也看不到与在windows/Visual Studio环境中键入路径/API/位置时相同的XML转储

我假设我需要做一些事情使Apache尊重我的路由文件,但我只是不确定这可能是什么。我也在想,我可能需要调整发布的方式(我目前正通过VisualStudio通过FTP进行发布)


我甚至不知道我在这一点上不知道什么,并希望得到一些帮助,看看下一步。搜索网页产生了许多非常陈旧/过时的结果,这些结果似乎毫无用处。

是的。你说得对。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)。希望这对您有所帮助!