使用ASP.NET操作IIS7中使用应用程序
在最新发布的启明星Portal里,增加了安装程序,下面说一下.NET对IIS7操作。IIS7的操作和IIS5/6有很大的不同,在IIS7里增加了 Microsoft.Web.Administration 命名空间里,增加了ServerManager、Site几个大类来操作IIS7。
下面是一些核心代码,可以直接使用
1)建立虚拟目录
建立虚拟目录时,默认使用“Default Web Site”,也就是默认建立在Default Web Site, CreateVdir需要两个参数:虚拟路径名称和实际的物理路径
{
ServerManager serverManager = new ServerManager();
Site mySite = serverManager.Sites["Default Web Site"];
mySite.Applications.Add("/" + vdir, phydir);
serverManager.CommitChanges();
return true;
}
这里建立的是在Default Web Site下的虚拟目录,将上面的mysite修改为
Site mySite = iisManager.Sites.Add("test", "http", "*:80:" + WebName + ".intranet." + TLD, @"c:\Webs\" + WebName);
则可以建立网站。这2个区别是:你建立一个网站。前面的访问示意URL是 http://www.dotnetcms.org/book ,而后者是http://book.dotnetcms.org
接下来创建应用程序池
{
try
{
ServerManager serverManager = new ServerManager();
serverManager.ApplicationPools.Add(appPoolName);
ApplicationPool apppool = serverManager.ApplicationPools[appPoolName];
apppool.ManagedPipelineMode = ManagedPipelineMode.Classic;
serverManager.CommitChanges();
apppool.Recycle();
}
catch
{ }
}
这里ManagedPipelineMode的取值 ManagedPipelineMode.Classic;IIS7支持经典Classic方式和Interget集成方式,在集成方式下
自定义的handler和Module可能无效,如果你想和以前IIS5/6版本兼容可以使用Classic方式,否则建议使用集成方式。
下面代码演示了如何把虚拟目录分配到应用程序池,和IIS5/6最大的区别是vdir其实是vdir path,所以这里加了一个“/”,表示一个虚路径。
{
try
{
ServerManager serverManager = new ServerManager();
Site site = serverManager.Sites["Default Web Site"];
site.Applications["/" + vdir].ApplicationPoolName = appPoolName;
serverManager.CommitChanges();
}
catch
{
}
}
最后增加一个删除操作
{
try
{
ServerManager serverManager = new ServerManager();
Site mySite = serverManager.Sites["Default Web Site"];
Microsoft.Web.Administration.Application application = mySite.Applications["/" + vDirName];
mySite.Applications.Remove(application);
serverManager.CommitChanges();
return true;
}
catch
{
return false;
}
}
到此,.NET操作IIS7的基本功能已经实现了。
转载于:https://www.cnblogs.com/mqingqing123/archive/2011/05/23/2053994.html
使用ASP.NET操作IIS7中使用应用程序相关推荐
- ASP.NET在IIS7中上下文中不可用
在将一个比较老的版本net1.1的网站移植到Window7的IIS下时,遇到了如下错误: 请求在此上下文中不可用 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该 ...
- asp.net在IIS7中更改网站的.net framework框架版本
一.建立网站时设置.net框架版本: 二.对于已经添加的应用程序设置.net框架版本 三.更改IIS 默认.net框架版本
- 在ASP.NET中重写URL 方法三:在IIS7中使用HttpModule 实现无扩展名的URL重写
上述的HttpModule方法在你要重写的URL含有.aspx 扩展名或者包含另一个被设置为ASP.NET处理的扩展名的情形下一切都工作.你这么做的话,不需要任何特定的服务器配置,你只要把你的应用拷贝 ...
- win2008支持mysql asp.net_Win7、win2008中让IIS7支持asp的方法
Win7或Windows server 2008中IIS7支持ASP+Access解决方法. 1. 让IIS7支持ASP Win7或Windows server 2008中IIS7是默认不安装的,所以 ...
- asp.net操作office时报错“检索 COM 类工厂中 CLSID 为 {...} 的组件时失败,原因是出现以下错误: 80070005。”
在asp.net操作office组件时,会报错"检索 COM 类工厂中 CLSID 为 {...} 的组件时失败,原因是出现以下错误: 80070005.",由于office组件是 ...
- Windows 2008 VS2008 IIS7 中调试Asp.net 2.0 两个问题
装好了Windows 2008,VS2008,想在新的系统环境下调试一下原来的asp.net 2.0页面,设置好IIS根目录,运行出现 问题1:未能加载文件或程序集system.web.extensi ...
- IIS7中的站点、应用程序和虚拟目录详细介绍
这里说的不是如何解决路径重写或者如何配置的问题,而是阐述一下站点(site),应用程序(application)和虚拟目录(virtual directory)概念与作用,已及这三个东西在IIS6与I ...
- ASP.NET操作Word的IIS权限设置
ASP.NET账号在默认情况下是没有权限操作Microsoft Office对象的,如果不进行权限的配置,代码会抛出类似以下的异常: 检索 COM 类工厂中 CLSID 为 {00024500-000 ...
- 如何将IIS6服务器的网站批量迁移到IIS7中
如何将IIS6服务器的网站批量迁移到IIS7中 技术文档 2010-12-02 16:21:44 阅读7 评论0 字号:大中小 订阅 实验环境 源IIS7服务器 OS:Windows server ...
最新文章
- 文件目录管理及vi编辑器的使用
- 什么是网络地址转换(NAT)—Vecloud 微云
- 1086 就不告诉你
- 工作320:uni-预加载问题
- python撩妹代码_Python十行代码让你秒变撩妹达人!想学?
- ubuntu中wps缺失字体
- p70_域名解析系统DNS
- java设计模式之用王者荣耀打开观察者模式(附代码实例)每天一学设计模式
- 【正点原子MP157连载】第十三章 外部中断实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
- 技术分享PPT整理(一):Bootstrap基础与应用
- 深度解析 steam密码js逆向(篇幅很长)
- ADB如何无线连接手机操作方法
- HTML爱心网页制作[樱花+爱心]
- arm触摸屏的头文件_ARM触屏校准程序
- Improved Techniques for Training GANs翻译与理解
- Thunderbolt3 方案介绍及应用案例介绍
- 论文里引用专利参考文献怎么写?
- 成绩管理系统(C语言)完整代码,纯C的练手程序
- VAD语音分割算法原理与简单实现
- linux编译jsoncpp
热门文章
- Django mysql 多线程_【实例:利用Django管理后台管理IP地址】(四)Django test+多线程+数据库+(踩坑)...
- c语言n1=(n2=(n3=0)),计算机二级C语言考试选择题(带答案)
- mysql配置文件没有spring_spring cloud config使用mysql存储配置文件
- android点击展开textview,《Android APP可能有的东西》之UI篇:展开TextView全文
- 习题8_6与习题9_2
- document.getElementById与document.getElementsById的区别
- 少年郎,你为什么没有对象?是缺点“土味情话”
- 力扣(LeetCode)刷题,简单题(第6期)
- ROS系统——部署OpenVINO版Nanodet超轻量目标检测器
- 【深度学习】(1) 前向传播,附python完整代码