1
我從Application_Start事件初始化FluentNHibernate像這樣處理:FluentNhibernate配置異常中的Application_Start
Fluently.Configure()
.Database(OracleDataClientConfiguration.Oracle10
.Driver<NHibernate.Driver.OracleDataClientDriver>()
.ConnectionString("MyConnectionString")
.DefaultSchema("MySchema")
)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SomeClass>())
.BuildConfiguration()
.BuildSessionFactory();
如果連接字符串是壞的,或者連接到數據庫的其他一些原因而失敗,我得到一個TNS No listener
例外。我想顯示/記錄此異常,但Application_Start(和Applicaiton_Error)在IIS7集成模式下沒有HttpContext或Response對象。用戶得到一個黃色的死亡屏幕,告訴他們打開自定義錯誤。 Elmah也不記錄該消息。我想以兩種可能的方式之一來解決問題:
- 禁用nhibernate配置從連接到配置數據庫。
- 根據錯誤提供自定義用戶反饋,並讓Elmah工作(以某種方式)。這將是我理想的選擇。
我能夠移動NHibernate的配置上在session_start運行,爲described here,它得到的異常處理此錯誤的工作,但後來我得到其他異常,可以是誤導問題的根本原因。有沒有人有這種情況下很好的解決方案?
謝謝。
我得到'什麼拋出'Application_BeginRequest'後異常拋出了異常' – Alex
好吧,重點是在BeginRequest中你將有權訪問請求,這樣你就可以顯示錯誤(我拋出它並有我自己的錯誤處理代碼在開發中顯示可怕的錯誤消息,或者在生產中出現錯誤的屏幕) –