我一直在用ASP.NET構建網站一段時間。起初,我避免瞭解ASP.NET提供者模型的複雜性。相反,我在必要時使用了罐頭提供者,並且大量依賴於依賴注入框架來滿足我所有的其他需求。自定義提供程序,最佳實踐和配置Conflaguration
最近,我一直在爲ASP.NET編寫可插入的組件,當然爲了實現這一點,我還寫了很多基於自定義提供程序的解決方案。然而,我很快就明白了很多initialization code is being duplicated,這是一件壞事。
所以......
- 是否有已經出現了關於如何避免配置麪條代碼的最佳做法?
- 你有沒有建立或者有任何實例(base/helper類,自定義屬性,反射)來共享抽象的基本初始化代碼,所以構建自定義提供者更容易?
注:
請不要試圖把我送到Provider Toolkit網站。我已經用盡了這個資源,這就是爲什麼我轉向SO社區:)
我想提供一些幫助,但是我對某些東西並不十分清楚。您正在爲ASP.NET編寫「可插入組件」,並且「當然」正在編寫大量基於自定義提供程序的解決方案......我不確定可插入組件的含義,或者爲什麼很明顯您會編寫不同的提供程序爲每個組件。你能否澄清你在做什麼?爲什麼你需要爲每個組件提供不同的提供者?我會看看我能否提供一些幫助。 – jrista 2009-08-28 15:52:15
你見過ELMAH嗎?我一直在努力編寫跨領域的組件,而不是針對特定領域/應用程序。模塊,處理程序等......如果他們觸及任何類型的存儲,他們需要利用提供者模型才能真正可插拔(machine.config/web.config)。這不是問題,但我注意到你最終編寫了很多代碼來管理配置。我只是想知道是否有人做了這個足以提出一些最佳做法,或者甚至一些實用的方法來一般處理這種類型的管道代碼。 – Josh 2009-08-29 16:03:39
這就像在Web環境中進行緩存的雙重鎖定模式。如果你對緩存做任何事情,你最終都會寫這些代碼,但是你通常會將它分解到一些實用程序類中來爲你做繁重的工作,所以你不需要再寫兩遍。在管理配置部分的時候,你最終會做很多事情,我只是想知道是否有任何模式專門針對這個問題出現。我只想盡可能地幹。 – Josh 2009-08-29 16:06:44