让Windows下的Apache服务器支持ASP.NET
时间:2007-09-09
来源:互联网
ASP.NET 2.0是最新一代的Web应用开发平台,作为.NET Framework的一部分,它功能强大、性能高且易于开发。作为微软的产品,用于搭建ASP.NET最好的Web服务器当然是IIS(IIS和Apache的比较)。然而,如果一台Windows机器已经装了Apache并已经有了Web应用,就无法再开启IIS(在同一个端口下)。还好我们在Apache httpd下也能对ASP.NET进行支持。
致力于.NET跨平台的最著名的开源项目Mono便提供了一个Apache下的插件Mod_mono来对ASP.NET进行支持。然而Mod_mono主要是针对Unix/Linux平台的。虽然有提供Windows下的版本,但画蛇添足的是它基于Mono而不是Windows现成的.NET Framework,而且更新不及时,不能对ASP.NET 2.0进行很好的支持。
也有人制作了独立的Web服务器来支持ASP.NET,但仍然不能满足我们直接使用现有Apache的需求。
事实上,Apache官方早就提供了ASP.NET解决方案,就是mod_aspdotnet模块。但此插件一年半以前就停止开发了,不知道是给Mono让道还是担心ASP.NET发展太快。不过我们仍然可以从Apache的模块存档库里下载到它。
mod_aspdotnet比mod_mono精巧多了,安装程序才300多K,只要系统里安装了.NET Framework,便能完美支持ASP.NET,甚至2.0。
具体实施相当简单,步骤如下:
1. 下载安装最新的Apache HTTP Server(这里给出的是2.2.3的链接)并进行基本配置(已开启Apache服务的略过此步)。
2. 下载安装mod_aspdotnet模块。
3. 修改配置文件(通常位于C:\Program Files\Apache Group\Apache2\conf\httpd.conf),添加如下数行:
#asp.net
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
AspNetMount /SampleASP "c:/SampleASP"
Alias /SampleASP "c:/SampleASP"
#/SampleASP是用于执行asp.net的目录的别名,c:/SampleASP是它的实际地址
# 打开脚本运行权限
<Directory "c:/SampleASP">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex index.htm index.aspx
#设置默认文件
</Directory>
# 对于ASP.NET虚拟页面,需要如下aspnet_client文件来支持客户端帮助脚本
AliasMatch /aspnet_client/system_web/(\d+)(\d+)(\d+)(\d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
#asp.net
4. 在C:/SampleASP下创建ASP.NET站点(建立index.aspx文件)
5. 重启Apache服务器。
6. 搞定,可以用http://localhost/SampleASP/index.aspx查看效果了。
(部分转载自http://weblogs.asp.net/israelio/archive/2005/09/11/424852.aspx)
致力于.NET跨平台的最著名的开源项目Mono便提供了一个Apache下的插件Mod_mono来对ASP.NET进行支持。然而Mod_mono主要是针对Unix/Linux平台的。虽然有提供Windows下的版本,但画蛇添足的是它基于Mono而不是Windows现成的.NET Framework,而且更新不及时,不能对ASP.NET 2.0进行很好的支持。
也有人制作了独立的Web服务器来支持ASP.NET,但仍然不能满足我们直接使用现有Apache的需求。
事实上,Apache官方早就提供了ASP.NET解决方案,就是mod_aspdotnet模块。但此插件一年半以前就停止开发了,不知道是给Mono让道还是担心ASP.NET发展太快。不过我们仍然可以从Apache的模块存档库里下载到它。
mod_aspdotnet比mod_mono精巧多了,安装程序才300多K,只要系统里安装了.NET Framework,便能完美支持ASP.NET,甚至2.0。
具体实施相当简单,步骤如下:
1. 下载安装最新的Apache HTTP Server(这里给出的是2.2.3的链接)并进行基本配置(已开启Apache服务的略过此步)。
2. 下载安装mod_aspdotnet模块。
3. 修改配置文件(通常位于C:\Program Files\Apache Group\Apache2\conf\httpd.conf),添加如下数行:
#asp.net
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
AspNetMount /SampleASP "c:/SampleASP"
Alias /SampleASP "c:/SampleASP"
#/SampleASP是用于执行asp.net的目录的别名,c:/SampleASP是它的实际地址
# 打开脚本运行权限
<Directory "c:/SampleASP">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex index.htm index.aspx
#设置默认文件
</Directory>
# 对于ASP.NET虚拟页面,需要如下aspnet_client文件来支持客户端帮助脚本
AliasMatch /aspnet_client/system_web/(\d+)(\d+)(\d+)(\d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
#asp.net
4. 在C:/SampleASP下创建ASP.NET站点(建立index.aspx文件)
5. 重启Apache服务器。
6. 搞定,可以用http://localhost/SampleASP/index.aspx查看效果了。
(部分转载自http://weblogs.asp.net/israelio/archive/2005/09/11/424852.aspx)
作者: netseek 发布时间: 2007-09-08
我试过N回了,都提示这个 ,但我的apache真的安在 C:\Program Files\Apache Group\apache2 没搞懂为啥子
附件: 您所在的用户组无法下载或查看附件
作者: guzhongzhi 发布时间: 2008-01-04
跟我的一样
作者: 31558770 发布时间: 2008-02-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28