2013-12-22 40 views
2

我想将网站从IIS移动到mod_mono & apache2组合,并且已经获得了大部分已运行的网站。不过,我需要一些设置事件处理程序的方式来处理日志的未处理异常,以及许多我喜欢在httpmodules中执行的url重写。Mod_mono忽略global.asax和httpmodules

该代码在IIS上正常工作。目标框架是.NET 4.0,代码主要是VB.NET。但在我的Linux设置中,似乎没有任何方法被调用过。在我的httpmodules或任何应该通过它注册的处理程序中不初始化。
Global.asax中的方法似乎也被忽略。

为了记录,我正在运行ubuntu Saucy Salamander。我编译我的网站到一个部署包与视觉工作室发布网站功能,和Apache说:
版本信息:单声道运行时版本:2.10.8.1(Debian 2.10.8.1-5ubuntu2); ASP.NET版本:4.0.30319.1

而且,我的web.config的HttpModules有两个的System.Web和system.webServer下添加这样:​​

<system.web> 
    ... 
    <httpModules> 
     <add name="SiteModule" type="Sitemodule"/> 
     ... 
    </httpModules> 
    </system.web> 

    <system.webServer> 
    <modules> 
     <add name="SiteModule" type="SiteModule"/> 
     ... 
    </modules> 
    ... 
    </system.webServer> 

那么,有什么能这样做的原因行为?服务器配置错误还是网站代码需要更改以适应新环境?

回答

0

你找到了你的问题的答案?

我刚刚尝试了类似的东西... 我将Global.asax文件部署到web根目录并重新启动了apache服务,它刚刚工作。 我手动将文件复制到Web服务器,而不是使用VS部署选项。

FWIW:Ubuntu的LTS 12.04.5,与单3.6.0,.NET 4.0,C#