在iis6中安裝asp.net mvc專案時,需要將aspnet_isapi.dll新增到**虛擬目錄的萬用字元對映當中,很多時候我們需要手動完成。
這幾天弄了個asp.net mvc3的專案,寫完後做了乙個安裝部署程式,想安裝的時候能自動將aspnet_isapi.dll新增到虛擬目錄的萬用字元對映當中,於是寫了下面的vbs指令碼,指令碼支援將虛擬目錄當作引數傳遞進來,可以自動給虛擬目錄新增萬用字元對映。可以把這個指令碼另存為.vbs檔案,然後放到安裝類當中使用 system.diagnostics.process.start(vbsfile,virtualpath) 方法進行呼叫。安裝目錄可以使用/targetdir=[targetdir]取得,然後處理後獲得虛擬目錄名。
如何製作安裝專案及如何傳遞引數可以參考:
以下是vbs指令碼程式:
1option
explicit
2dim virtualpath
3dim msgtitle
4 msgtitle = "
新增指令碼對映"5
if wscript.arguments.length > 0
then
6 virtualpath = wscript.arguments(0)
7else
8 virtualpath = "
web"
9end
if10
11public
dim ovirtdir
13set ovirtdir = nothing
14on
error
resume
next
16set ovirtdir = getobject("
iis://localhost/w3svc/1/root/
" & virtualpath)
17if err <> 0
then
18msgbox
"未能建立 iis 管理物件!
" & vbcrlf & err.description,vbokonly&vbexclamation,msgtitle
19end
if20
ifnot ovirtdir is
nothing
then
21 maphandlers ovirtdir
22else
23msgbox
"新增對映失敗!
",vbokonly&vbexclamation,msgtitle
24end
if25
onerror
goto026
end function
2728
sub maphandlers(ovirtdir)
29 err.number = 0
30dim scriptmaps
31 scriptmaps = ovirtdir.getex("
scriptmaps
")32
if err <> 0
then
33msgbox
"未能獲取當前指令碼對映屬性。
"& vbcrlf & err.description,vbokonly&vbexclamation,msgtitle
34exit
sub35
endif
36dim imap
37dim sourcemap
38dim newmap
39 newmap = ""
40for imap = lbound(scriptmaps) to
ubound(scriptmaps)
41if
left(scriptmaps(imap), 6) = "
.aspx,
"then
42 sourcemap = scriptmaps(imap)43'
msgbox "found aspx: " & newmap
44end
if45
ifleft(scriptmaps(imap), 3) = "
.*,"
then46'
msgbox "已經新增了對映"
47exit
sub48
endif
49next
50if sourcemap = ""
then
51msgbox
"未能找到aspx指令碼對映
",vbokonly&vbexclamation,msgtitle
52exit
sub53
endif
54redim preserve scriptmaps(ubound(scriptmaps) + 1)
55 newmap = replace(sourcemap, "
.aspx,
", "
*,")
56 scriptmaps(ubound(scriptmaps)) = newmap57'
msgbox scriptmaps(ubound(scriptmaps))
58 ovirtdir.putex 2, "
scriptmaps
", scriptmaps
59if err <> 0
then
60msgbox
"儲存指令碼對映失敗!
" & vbcrlf & err.description,vbokonly&vbexclamation,msgtitle
61end
if62
63 ovirtdir.setinfo
64if err <> 0
then
65msgbox
"更新虛擬目錄資訊失敗!
" & vbcrlf & err.description,vbokonly&vbexclamation,msgtitle
66end
if67
end sub
6869
上面**的缺點是只能面對乙個站點的時候,如果安裝的時候伺服器有多個站點,**還需要進行改進。
IIS發布MVC專案
專案使用mvc4 ef6與另乙個mvc4 ef5的專案結合發布 問題1 發布時專案走了兩個webconfig 理想解決方案 刪除節點,不繼承節點 現實 經過文件,度娘,谷娘無解,最後降級ef版本解決問題 ef降級過程 ef5降級命令 問題2 發布後成功跑通報錯找不到網路路徑。好高階從來沒遇到的問題,...
IIS崩潰時自動抓取Dump
原文 iis崩潰時自動抓取dump 背景 在客戶現場,iis有時會崩潰,開發環境沒法重現這個bug,唯有抓取iis的崩潰是的dump檔案分析.iis崩潰時自動抓取dump,需要滿足下面幾個條件 1 啟動 windows error reporting service 服務 2 移除預設的偵錯程式 如...
win7下IIS配置MVC專案
第一步 新增mvc程式對映 1.雙擊開啟,如下圖 2.點選介面右邊操作中的 新增指令碼對映 請求路徑 可執行檔案路徑 c windows microsoft.net framework v4.0.30319 aspnet isapi.dll 名稱 mvc 最後點確定,彈出來對話方塊點否 第二步 右鍵...