ASP.NET程序在編譯的時(shí)候默認(rèn)是Any CPU,即編譯的程序可以在X86、X64系統(tǒng)平臺(tái)上運(yùn)行。若希望我們的ASP.NET程序運(yùn)行在X64系統(tǒng)上,我們所要做的僅僅是部署IIS,修改配置。
若想程序運(yùn)行于IIS32位模式下,即運(yùn)行在.net framwork32位下進(jìn)行如下配置:
1.cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1 修改IIS配置,允許32位程序運(yùn)行
2.C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis -i 為IIS注冊(cè)asp.net32。注冊(cè)后在IIS的web擴(kuò)展里顯示的是Asp.net2.0.*32bit。
3.Web擴(kuò)展里允許 Asp.net2.0.*32bit運(yùn)行。運(yùn)行的是w3wp32.exe進(jìn)程。
二.64位模式
1.cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 0 默認(rèn)就是0,若原來運(yùn)行了32位程序,則需要重新設(shè)置為0。
2.C:/WINDOWS/Microsoft.NET/Framework64/v2.0.50727/aspnet_regiis - i 為IIS注冊(cè)64為Asp.NET。注冊(cè)了64位ASP.NET的IIS在Web擴(kuò)展里顯示的是Asp.net2.0.*。
3.Web擴(kuò)展里允許 Asp.net2.0.*運(yùn)行。運(yùn)行的是w3wp.exe進(jìn)程。
處理后還是沒有出現(xiàn)“w3wp32.exe進(jìn)程”。
但我的 Web擴(kuò)展里面是有, Asp.net2.0的32位設(shè)置為允許的。
后新建了應(yīng)用程序池, 在新建的應(yīng)用程序池的“高級(jí)設(shè)置”里面,把“啟用32位應(yīng)用程序”設(shè)置為true。
程序可以運(yùn)行了。
因?yàn)槲业臋C(jī)器已經(jīng)設(shè)置過,cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1 為32位。
為了測(cè)試,我又把它設(shè)置為64位:cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 0
此時(shí),程序還是可以運(yùn)行。
所以我認(rèn)為:不用按照上面的1,2,3步設(shè)置開啟32位。僅僅設(shè)置應(yīng)用程序池中“啟動(dòng)32位應(yīng)用程序”為true。此時(shí)應(yīng)該就可以運(yùn)行32位的程序了。
如果有人在X64位系統(tǒng)上,運(yùn)行32位的asp.net程序,可以直接試試用把“啟用32位應(yīng)用程序”設(shè)置為true。的方法。無論是否成功,請(qǐng)告知。謝謝。