標籤:
《Windows Azure Platform 系列文章目錄》
這是筆者在之前的項目中遇到的問題,做一下總結,給網友做參考。
在一般情況下,Visual Studio開發的Cloud Service在部署到Azure PaaS平台後,是IIS託管管道模式。有的時候,客戶的Web應用程式需要4.0傳統模式。就需要在啟動Web Role時自訂IIS配置。我這裡簡單介紹一下。
1.在項目中添加引用:C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll。Microsoft.Web.Administration命名空間下,提供了一系列管理IIS的操作。更多細節,請參考:Microsoft.Web.Administration Namespace
2.修改ServiceDefinition.csdef,添加<Runtime executionContext="elevated"/>,使之有許可權修改IIS配置
3.修改public override bool OnStart()方法(位於WebRole.cs),調用Microsoft.Web.Administration命名空間下面的操作設定IIS。參考以下範例程式碼(Cloud Service IIS網站的名稱格式為:RoleEnvironment.CurrentRoleInstance.Id + "_Web"):
using (ServerManager serverManager = new ServerManager()) { var siteName = RoleEnvironment.CurrentRoleInstance.Id + "_Web"; Trace.Write(string.Format("Site Name: {0}.", siteName)); var siteApplication = serverManager.Sites[RoleEnvironment.CurrentRoleInstance.Id + "_Web"].Applications.First(); Trace.Write(string.Format("Application Pool: {0}.", siteApplication.ApplicationPoolName)); var appPoolName = siteApplication.ApplicationPoolName; var appPool = serverManager.ApplicationPools[appPoolName]; if (appPool != null) { appPool.ManagedPipelineMode = ManagedPipelineMode.Classic; serverManager.CommitChanges(); } }
4.部署雲端服務,成功修改雲端服務IIS託管管道模式為4.0傳統模式
本博-三石Blog(下文簡稱本博),在本部落格文章結尾處右下腳未註明轉載、來源、出處的作品(內容)均為本博原創,本站對於原創作品內容對其保留著作權,請勿隨意轉載,如若真有需要的朋友可以發Mail聯絡我;轉載本博原創作品(內容)也必須遵循“署名-非商業用途-保持一致”的創作共用協議,請務必以文字連結的形式標明或保留文章原始出處和部落格作者(Lei Zhang)的資訊,關於本博攝影作品請務必注意保留(www.cnblog.com/threestone)等相關浮水印著作權資訊,否則視為侵犯原創著作權行為;本博謝絕商業網站轉載。著作權,禁止一切有違中華人民共和國著作權保護法及相關法律和本博(法律)聲明的非法及惡意抄襲。
Windows Azure Cloud Service (41) 修改雲端服務IIS託管管道模式為4.0傳統模式