2013-12-22 37 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#