为了账号安全,请及时绑定邮箱和手机立即绑定

WebActivator - 不修改Global.asa也能加入Application_Start

标签:
C#

研究NuGet Server過程發現的新東西,不修改Global.asa就能加入Application_Start()/Appliation_Shutdown()事件的新做法---WebActivator!!

這是微軟NuGet開發小組成員David Ebbo所寫的一個程式模組,實現不修改Global.asa就加入Application_Start()/Shutdown()事件,目的在解決網站專案安裝程式庫的一項難題。部分程式庫有在Application_Start()階段加入初始化程序的需求,例如: 讀取設定檔、建立共用物件、處理Assembly參照... 等,一但引用時漏了此步驟,便會導致運作不正常。(我永遠記得第一次玩log4net的情景,就因忘了加Application_Start(),大半天搞不出來氣到想咬人,最後找到91這篇同病相憐的KB才頓然開悟)

安裝程式元件還需要修改Application_Start()才能使用,或多或少提高安裝複雜度,同時也增加安裝失敗的可能(以log4net為例,至少有兩個人跌倒過 XD)。而對NuGet自動安裝來說,自動修改Global.asa加入Application_Start()不但困難,而且還可能搞壞原本程式邏輯,因此最理想的做法在程式元件內部涵蓋這段邏輯,不要勞煩安裝程序或開發人員動手。透過在網站引用WebActivator.dll及在元件程式中加入適當的宣告,就能實現這種不沾手式的事件掛載法。(註: 但要ASP.NET 4.0才支援)

想當然爾,David是NuGet開發者,取得WebActivator的最簡單方法就是搓搓神燈,Add Library Package Reference並輸入webactivator。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消