自定義HttpModule的一些經驗 配置篇

2021-09-07 07:07:27 字數 1069 閱讀 1371

自定義web模組,需繼承system.web.ihttpmodule介面

一:攔截對該伺服器所有的http請求。

第一步:將自定義module類使用強名編譯,並放在gac中。

windows7不能直接把dll檔案拖到gac中,只能只用gacutil工具。

方法是:開啟visual studio命令列,提示進入目錄:e:\program files\microsoft visual studio 10.0\vc,

gacutil /i [assemblypath],將該assembly安裝在gac中

gacutil /l [assemblyname], 出現assembly的詳細資訊

gacutil /u [assemblyname], 解除安裝該assembly

...................... 

其中,type的格式為:「namespacename.classname,assemblyname, strongname」

二:只攔截對某web程式的request,有兩種方法:

1.將自定義模組單獨編譯為乙個dll檔案,並通過dll引用新增到web程式。

並修改該程式內部的web.config檔案:

其中,type格式為「namespacename.classname「。

奇怪的是,在第二種方式下,在vs debug模式下訪問.wmv檔案時不能觸發module,訪問.aspx檔案時則可以。而第一種方式下,訪問程式裡的.wmv檔案和.aspx檔案都可以觸發該自定義module。筆者不知為何,索性改回第一種方式。留待以後再探索。(探索結果:原來不是第二種方式的問題,而是在測試時**埠改變,而舊的debug執行緒未被殺死,所有用舊的url直接訪問了過期的舊執行緒。這是不是vs的乙個bug,當退出debug時,啟動的臨時執行緒並未被殺死,而重新啟動debug時,舊的臨時server執行緒也未被新的替代,好大乙個bug哇。看圖:

Android 自定義控制項大道(一) 自定義屬性

首先在values的資源資料夾下建立乙個attrs的檔案。屬性寫上 name customview name color format color declare styleable 其中declare styleable下的name是你的自定義控制項的名字,attr標籤下的name是你要新增的屬性...

自定義tableviewcell(一)

建立乙個新類繼承tableviewcell,覆寫下列函式,用 建立控制項 id initwithstyle uitableviewcellstyle style reuseidentifier nsstring reuseidentifier return self 重寫一下setter void ...

自定義ViewGroup(一)

1 概述 viewgroup是乙個view的容器,他可以給出childview的測量模式和測量其寬高,他的作用非常重要。childview測量模式 exactly 表示設定了精確的值,一般當childview設定其寬 高為精確值 match parent時,viewgroup會將其設定為exactl...