C# linux上带mono的ServiceStack
我对linux或mono一无所知。我有我正在WebMatrix中构建的web应用程序。我已经用ServiceStack和cshtml测试页面设置了简单服务。所有这些在Windows上都可以正常运行,但当我将文件移动到linux框时,我的页面可以工作,但对ServiceStack服务的RESTful调用返回404找不到。这里有我遗漏的东西吗?linux上的mono对web.config和global.asax的读取是否相同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使用区分大小写的文件系统。
因此,如果您键入:
你的站点实际上被称为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你的帖子,因为这是一个很好的问题,显然