Windows 7下部署IIS运行asp.net

最近在研究asp.net,为了测试就想在Windows 7下部署IIS来测试和运行asp.net,开局不利,搞出一大堆错误,经多方查错,现在总算可以运行了。

首先是安装IIS支持asp.net,先是从网上找到安装选项,安装成功后我自己也截个完整的选项图上来:

然后是通过控制面板->管理工具->Internet信息服务(IIS)管理器来配置,先是添加自己的网站,指定自定义目录,不想使用默认的“Default Web Site”,因为配置不灵活。由于我把80端口分配给了php,所以添加网站时我把端口绑定成8080。

重启IIS服务并启动自已网站的服务后在自定义目录下添加个test.htm文件,就可以通过浏览器访问http://localhost:8080/test.htm了。

接下来在VS2010里新建一个Web Site工程(需要预先安装Web组件),选择C#模板的ASP.NET Web Site类型,保存目录指定到自己网站的自定义目录中,替换Web.config然编译运行,正常,不过IDE是使用ASP.NET Development Tool来运行的,浏览器地址是http://localhost:7196/asp.net/。

想脱离IDE测试环境直接运行,浏览器地址换成http://localhost:8080/访问,报错:

[Server Error in '/' Application.


Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.
Source Error:

Line 14:
Line 15:   <system.web>
Line 16:     <compilation debug="false" targetFramework="4.0" />
Line 17:
Line 18:     <authentication mode="Forms">


Source File: E:\asp.net\web.config    Line: 16]

这里找到错误的解决办法,就是要手动注册asp.net 4.0 的.net framework:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
(试过注册Framework64里的同名文件效果也一样)

再刷新页面,上面的错误解决掉了,不过又出新的错误:
由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面

这里找到错误的解决办法,就是回到Internet信息服务(IIS)管理器,选中最顶上的计算机名,双击右边IIS下的“ISAPI 和 CGI 限制”图标,把刚注册的ASP.NET 4.0设成允许,默认是不允许,顺便把Framework64目录下的描述改成64bit以区分与32bit。

重新刷新页面,与通过ASP.NET Development Tool测试一样效果的页面出现了,OK。

Tags:

Leave a Reply


提醒: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。