Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  489 随笔 :: 0 文章 :: 417 评论 :: 70万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

  《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)等相关水印版权信息,否则视为侵犯原创版权行为;本博谢绝商业网站转载。版权所有,禁止一切有违中华人民共和国著作权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。

posted on   Lei Zhang的博客  阅读(1140)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示