Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.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
C# linux上带mono的ServiceStack_C#_Linux_Mono_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack_Webmatrix - Fatal编程技术网 servicestack,webmatrix,C#,Linux,Mono,servicestack,Webmatrix" /> servicestack,webmatrix,C#,Linux,Mono,servicestack,Webmatrix" />

C# linux上带mono的ServiceStack

C# linux上带mono的ServiceStack,c#,linux,mono,servicestack,webmatrix,C#,Linux,Mono,servicestack,Webmatrix,我对linux或mono一无所知。我有我正在WebMatrix中构建的web应用程序。我已经用ServiceStack和cshtml测试页面设置了简单服务。所有这些在Windows上都可以正常运行,但当我将文件移动到linux框时,我的页面可以工作,但对ServiceStack服务的RESTful调用返回404找不到。这里有我遗漏的东西吗?linux上的mono对web.config和global.asax的读取是否相同 谢谢是的,读起来都一样。 但是… Linux使用区分大小写的文件系统。 因

我对linux或mono一无所知。我有我正在WebMatrix中构建的web应用程序。我已经用ServiceStack和cshtml测试页面设置了简单服务。所有这些在Windows上都可以正常运行,但当我将文件移动到linux框时,我的页面可以工作,但对ServiceStack服务的RESTful调用返回404找不到。这里有我遗漏的东西吗?linux上的mono对web.config和global.asax的读取是否相同


谢谢

是的,读起来都一样。
但是…
Linux使用区分大小写的文件系统。
因此,如果您键入:

你的站点实际上被称为whatever.aspx,那么它就可以工作了

但是,如果您键入which.aspx,将得到404

此外,如果站点的codebehind名为Master.cs(带
class Master
),并且您在带有Master.cs的aspx文件(如默认的visual Studio web应用程序模板)上引用它,则会出现“找不到”错误

另外,如果您使用Apache在mod mono上运行mono,我认为默认情况下它在端口8080或8082上运行,因此您必须键入


一个更好的主意可能是通过fastcgi-mono-server4在nginx上运行servicestack。

听起来像是外壳-出于性能原因,您应该修复它,但与此同时,在启动Mono进程之前,您可以通过如下设置Mono_IOMAP环境变量使Mono忽略大小写,例如,我在我的服务脚本中使用以下内容:

export MONO_IOMAP=all
${MONOSERVER} /applications=${WEBAPPS} /socket=tcp:127.0.0.1:9000 &
这里有记录:


不应该将文件移动到linux设备上,而应该将文件移动到linux设备上:)这很有趣,我完全同意你的看法。然而,我的朋友在他的服务器上为我找到了一个位置。更新:所以我从global.asax中取出了ServiceStack代码并删除了该文件。我将代码放入了_AppStart.cshtml。同样,它在Windows上也可以正常工作,但在移动到Linux设备时就不行了。想法?伙计,我希望我能帮助你,但我很久以前就放弃了Linux。你总是可以研究Linux并得到大约80个不同的答案,但是,他们中的每一个都是错误的。简而言之,这就是学习如何在任何Linux发行版中做任何事情的感觉。下面是一个等式:
(Linux+(∞ * [尝试次数]=(Epic+失败)^∞)我会,但是+1你的帖子,因为这是一个很好的问题,显然