>

【www.bifa688.com】NET操作IIS七中应用程序,net的运

- 编辑:www.bifa688.com -

【www.bifa688.com】NET操作IIS七中应用程序,net的运

在最新发布的启明星Portal里,增加了安装程序,下面说一下.NET对IIS7操作。IIS7的操作和IIS5/6有很大的不同,在IIS7里增加了 Microsoft.Web.Administration 命名空间里,增加了ServerManager、Site几个大类来操作IIS7。

Johnny换上Win7已经有几个月的时间,不过前几天重装了系统,依旧用的是Win7,只是今天在打开VS2009工程后在IE中测试时一打开便出现一个错误如下:
请求在此上下文中不可用
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: 请求在此上下文中不可用
源错误:

以前弄过好多次,都没有成功,昨天晚上不知怎么地就成功了,借用我同学的一句话,这叫“灵光一闪”,废话不多说了,这个成功是有图有视频有真相地哈!

下面是一些核心代码,可以直接使用

复制代码 代码如下:

这篇博文发表都三个月了,我自认为算是很详细了,可是还是很多人没有配置出来(天天有人在群里问我怎么配置),所以今天特意录成视频供大家参考。

建立虚拟目录

行 28: protected void Application_Start(Object sender, EventArgs e)
行 29: {
行 30: ApplicationConfiguration.OnApplicationStart(Context.Server.MapPath( Context.Request.ApplicationPath ));
行 31:
行 32: }

特意申明:这是配置asp.net运行坏境,不是asp,asp和asp.net是有区别的。asp.net如果还是配置不出可以问,asp就算了,我不懂asp哦!无法帮你解决。

建立虚拟目录时,默认使用“Default Web Site”,也就是默认建立在Default Web Site, CreateVdir需要两个参数:虚拟路径名称和实际的物理路径.

这下还真奇怪,回想了一下,刚开始用Win7时似乎也是有遇到过这个问题,只是忘记当时是如何解决的。可以确定的是这个肯定跟项目本身无关,因为未重装前是正常的,也就是说跟环境有关了,那就是应该是IIS7的问题了。

Win7旗舰版中的IIS配置asp.net视频录像下载地址://www.jb51.net/books/256904.html

public static bool CreateVdir(string vdir, string phydir)  
{  
ServerManager serverManager = new ServerManager();  
Site mySite = serverManager.Sites["Default Web Site"];  
mySite.Applications.Add("/"   vdir, phydir); serverManager.CommitChanges();  
return true;  
} 

搜索引擎的好就是造就了懒人,遇到问题,不是“百度一下你就不知道”,而是Google一下你会知道,所以还是上Google上找了一下,确实跟我的判断没错,引用周星星的话说“我他妈的真是天才呀”。问题很简单,就是Web应用程序池配置错误造成的,这个错误应该是IIS7所特有的。

一、点击电脑左下角的“开始”,然后点击“控制面板”,如下图:

这里建立的是在Default Web Site下的虚拟目录,将上面的mysite修改为

解决办法:

www.bifa688.com 1

Site mySite = iisManager.Sites.Add("test", "http", "*:80:"   WebName   ".intranet."   TLD, @"c:Webs"   WebName); 

在IIS7->当前应用程序虚拟目录->右键->管理应用程序->高级设置

二、点击“控制面板”后如下图:

则可以建立网站。这2个区别是:你建立一个网站。前面的访问示意URL是 ,而后者是

修改应用程序池属性:DefaultAppPool 为 Classic .NET AppPool (也即是经典)即可。

www.bifa688.com 2

接下来创建应用程序池

又或者是直接到应用程序池中,双击DefaultAppPool ,在弹出的窗口中把“托管管道模式”改成经典,确定退出即可。
Tis:
在 IIS 7 中,应用程序池有两种运行模式:集成模式和经典模式。应用程序池模式会影响服务器处理托管代码请求的方式。如果托管应用程序在采用集成模式的应用程序池中运行,服务器将使用 IIS 和 ASP.NET 的集成请求处理管道来处理请求。但是,如果托管应用程序在采用经典模式的应用程序池中运行,服务器会继续通过 Aspnet_isapi.dll 路由托管代码请求,其处理请求的方式就像应用程序在 IIS 6.0 中运行一样。

三、双击“程序和功能”,进入如下图:

public static void CreateAppPool( string appPoolName)  
{  
try {  
ServerManager serverManager = new ServerManager();  
serverManager.ApplicationPools.Add(appPoolName);  
ApplicationPool apppool = serverManager.ApplicationPools[appPoolName];  
apppool.ManagedPipelineMode = ManagedPipelineMode.Classic;  
serverManager.CommitChanges();  
apppool.Recycle(); }  
catch { }  
} 

更多关于IIS 7 应用程序池的托管管道模式中集成模式的介绍,可以移步到这里了解一下。

www.bifa688.com 3

这里ManagedPipelineMode的取值 ManagedPipelineMode.Classic;IIS7支持经典Classic方式和Interget集成方式,在集成方式下

您可能感兴趣的文章:

  • IIS7中ASP.net 请求处理过程说明
  • Win2008 server IIS7 设置身份模拟(ASP.NET impersonation)
  • IIS7 配置大全(ASP.NET 2.0, WCF, ASP.NET MVC,php)
  • 让Win2008 IIS7 ASP.NET支持10万并发请求
  • asp.net iis7默认文档错误异常的解决方法
  • win7和win2008 r2下配置IIS7(ASP.net运行环境)
  • Win7旗舰版中的IIS7配置asp.net的运行环境
  • IIS7.5 检测到在集成的托管管道模式下不适用的 ASP.NET设置
  • 使用ASP.NET操作IIS7中应用程序

四、点击红线圈起来的,进入如下图:

自定义的handler和Module可能无效,如果你想和以前IIS5/6版本兼容可以使用Classic方式,否则建议使用集成方式。

www.bifa688.com 4

下面代码演示了如何把虚拟目录分配到应用程序池,和IIS5/6最大的区别是vdir其实是vdir path,所以这里加了一个“/”,表示一个虚路径。

弹出一个窗口,请按照上面选择这些功能,VS2005 中,如果要调试站点的话,必须有“Windows身份验证” “摘要式身份验证” 是使用 Windows 域控制器对请求访问 Web 服务器上内容的用户进行身份证。“基本身份验证” 是要求用户提供有效的用户名和密码才能访问内容。要调试 ASP.net 当然要安装IIS支持 ASP.net 的组件了。选择好了后点击确定就等他安装好。

public static void AssignVDirToAppPool(string vdir, string appPoolName)  
{  
try  
{  
ServerManager serverManager = new ServerManager();  
Site site = serverManager.Sites["Default Web Site"];  
site.Applications["/"   vdir].ApplicationPoolName = appPoolName;  
serverManager.CommitChanges();  
}  
catch { }  
} 

五、安装好组件后,请重起计算机。

最后增加一个删除操作

六、重启好后 我们开始配置IIS7---我们继续打开控制面板找到"管理工具"看下图

public static bool DeleteVdir(string vDirName)  
{  
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; 
}  
} 

www.bifa688.com 5

到此,.NET操作IIS7的基本功能已经实现了,希望对大家的学习有所帮助。

七、点”管理工具“,进入如下图:

您可能感兴趣的文章:

  • www.bifa688.com,ASP.NET在IIS7中上下文中不可用的解决方法
  • IIS7中ASP.net 请求处理过程说明
  • Win2008 server IIS7 设置身份模拟(ASP.NET impersonation)
  • IIS7 配置大全(ASP.NET 2.0, WCF, ASP.NET MVC,php)
  • 让Win2008 IIS7 ASP.NET支持10万并发请求
  • asp.net iis7默认文档错误异常的解决方法
  • win7和win2008 r2下配置IIS7(ASP.net运行环境)
  • Win7旗舰版中的IIS7配置asp.net的运行环境
  • IIS7.5 检测到在集成的托管管道模式下不适用的 ASP.NET设置

www.bifa688.com 6

八、点击红线框中的IIS管理器,进入如下图:

www.bifa688.com 7

九、右击1处,然后再点2处“添加网站,如下图:

www.bifa688.com 8

十、然后弹出如下所示的窗口:

www.bifa688.com 9

我是这样填写的:

www.bifa688.com 10

十一、点击确定,如果你已经添加了几个网站了,请先删除(不删除也可以,请按下面这个步骤做)那几个网站再从头开始,要不会弹出下所示的窗口:

www.bifa688.com 11

(如果是删除了那几个网站再从头开始的,请跳到下面的“”)否则请点击”是“,然后右击其它网站,点击“管理网站”,再击”停止“,再右击你刚才添加的网站,像前面一样,点击”管理网站“,再点”启动“:

www.bifa688.com 12

1、先要设置应用程序池(ApplicationPool)为Classic.NETAppPool,而不是默认的DefaultAppPool,可以在网站目录里对每个站点设置,也可以在站点进行单独设置。

控制面板--系统和安全--管理工具--Internet信息服务(IIS)管理器,打开IIS管理器。选中左侧的默认网站(也就是“Default Web Site“这个网站),单击右侧的高级设置,将应用程序池设置为Classic.NETAppPool。

www.bifa688.com 13

www.bifa688.com 14

www.bifa688.com 15

点击”确定“,再点”确定“将这两个弹出窗口都关闭。

2、单击左侧的“应用程序池”
www.bifa688.com 16

中间会出现如下图所示:

www.bifa688.com 17

www.bifa688.com 18

www.bifa688.com 19

将标识改为localSystem或NetworkService。

3、选中默认网站,点击右侧的基本设置,点击“连接为”,选择“特定用户”,点击设置,输入系统用户名密码。这里必须用操作系统的登录名和密码,不然无权访问硬盘分区。

www.bifa688.com 20

www.bifa688.com 21

www.bifa688.com 22

选中特定用户,然后再点设置,出现如下图所示:

www.bifa688.com 23

这里的用户名是指:

这里的用户名就你的计

www.bifa688.com 24

点击管理,进入如下 :

www.bifa688.com 25

点击新用户新添加一个用户

www.bifa688.com 26

点击创建,然后右击刚才添加的用户名。

www.bifa688.com 27

点击属性,

www.bifa688.com 28

我们可以看到他只有Users权限,这是肯定不行的,下面我们给他添加一个管理员的权限:

www.bifa688.com 29

www.bifa688.com 30

其实你也可以看你平时登录系统的那个用户的权限,如果不是管理员,请给他添加管理员的权限,然后在IIS配置那里输入这个有管理员权限的用户名和密码即可。

算机名,比如我的计机名叫ltp,密码是你登陆WINDOWS时的密码,

正确的输入以后,点击确定,再点击确定,回到如下所示:

www.bifa688.com 31

点击“测试设置”,出现如下所示:

www.bifa688.com 32

然后关闭这个,再点击确定。

4、控制面板 --> 管理工具 -->Internet 信息服务(IIS)管理器 程序中找到 打开 Internet 信息服务(IIS)管理器 后,在中间部分的下部,可以看到 身份验证 配置项,双击就是如下界面:

www.bifa688.com 33

www.bifa688.com 34

安装IIS时增加的几个身份验证,需要在要调试的站点上启用。注意:是要调试的站点,而不是要调试的应用程序目录!

5、设置默认的开始页面,双击”默认文档“,点击“操作”下面的”添加“如下图所示:

www.bifa688.com 35

www.bifa688.com 36

至此配置结束了,下面来看效果图吧!

www.bifa688.com 37

www.bifa688.com 38

如果怕你自己的程序不行,那请下载我的如上图所示的一个简单示例吧!

下载地址:#
WebSite1.rar

祝你成功哈!如果对你有帮助,请不要吝啬你的“好文要顶”,以幫助更多的人哦!本文可是花了4个小时精心构思哦。

转载请一定写明是:

转载至追夢,链接地址:

上面还是配置好IIS环境,下面我开始配置ASP.NET的环境吧!

视频教程下载

上面还只是配置好IIS环境,下面我们开始配置ASP.NET的环境吧!

您可能感兴趣的文章:

  • ASP.NET在IIS7中上下文中不可用的解决方法
  • IIS7中ASP.net 请求处理过程说明
  • Win2008 server IIS7 设置身份模拟(ASP.NET impersonation)
  • IIS7 配置大全(ASP.NET 2.0, WCF, ASP.NET MVC,php)
  • 让Win2008 IIS7 ASP.NET支持10万并发请求
  • asp.net iis7默认文档错误异常的解决方法
  • win7和win2008 r2下配置IIS7(ASP.net运行环境)
  • IIS7.5 检测到在集成的托管管道模式下不适用的 ASP.NET设置
  • 使用ASP.NET操作IIS7中应用程序

本文由bifa688.com发布,转载请注明来源:【www.bifa688.com】NET操作IIS七中应用程序,net的运