Asp.net Mvc Framework在.net 2.0/IIS6下运行,补全

之前写过篇:

Asp.net Mvc Framework 四 (在.net2.0下运行)

虽然在其它文章中也隐含了一些2.0运行的说明,但 是不够详细

下面说全

必备:.net framework 2.0 sp1 (v2.0.50727)

用Vs2008打开MVC工程

将目标平台转换为.net 2.0 (其实平台保持3.5也可以,只是不要在View中写C#3.0的语句,这个就要自己约束了,而转换后它是视为错误的)

复制System.Core.dll到Bin文件夹

 

如果编译通过则表示已经可以运行,如果编译没通过看看是不是在语法上使用了C#3.0的新特性

 

将之改写为非特性方式

如果要以.mvc扩展名运行.则网站属性-》主目录-》配置-》应用程序扩展-》添加一个.mvc的

可执行文件为X:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"aspnet_isapi.dll

查检文件存在为否。这样就添加了.mvc的扩展名

 

如果要以空扩展名来访问网站。则在上述配置中添加通匹符映射到X:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"aspnet_isapi.dll

仍然是查检文件存在为否即可。

 如图:

 

posted @ 2008-08-06 01:15 重典 阅读(7267) 评论(11) 编辑 收藏

 回复 引用 查看   
#1楼2008-08-06 09:02 | Solog      
我是用ISAPI_Rewrite一个叫Helicon的东西解决,IIS6下,解决URL,必须带有.MVC的.那样就和在IIS7下一样了.

请问大侠如何做的.
我写的大概是这样子的
[ISAPI_Rewrite]

# Defend your computer from some worm attacks
# RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]

RewriteEngine on
RewriteBase /

RewriteRule ^/sof/FileTransUtil/?(.*?)$ /sof/FileTransUtil.mvc/$1 [I,L]
RewriteRule ^/sof/([\w]+)/?(.*?\.htm)$ /sof/$1/$2 [I,L]
RewriteRule ^/sof/([\w]+)/?(.*?\.txt)$ /sof/$1/$2 [I,L]
RewriteRule ^/sof/([\w]+)/?(.*?\.wav)$ /sof/$1/$2 [I,L]
RewriteRule ^/sof/([\w]+)/?(.*?\.mp3)$ /sof/$1/$2 [I,L]
RewriteRule ^/sof/([\w]+)/?(.*?\.aspx)$ /sof/$1/$2 [I,L]
RewriteRule ^/sof/([\w]+)/?(.*?\.\w{3})$ /sof/$1/$2 [I,L]
RewriteRule ^/sof/([\w]+)/?(.*?)$ /sof/$1.mvc/$2 [I]

 回复 引用 查看   
#2楼2008-08-06 09:46 | 紫色永恒      
娃哈哈 路过咣咣 你猜我是谁
 回复 引用 查看   
#3楼[楼主]2008-08-06 10:32 | 重典      
@Solog
我本机的话就是按我文章写的
“网站属性-》主目录-》配置-》应用程序扩展-》添加一个.mvc”

如果按第二种的话对性能影响挺大,不建议用

虚拟主机上我使用的是ASHX扩展名,一般这个扩展名都有提供,默认也是不查文件存在的

如果不支持的话可以和主机商说一下

 回复 引用 查看   
#4楼[楼主]2008-08-06 10:33 | 重典      
@紫色永恒
太难拆,印象中没谁喜欢紫色

 回复 引用 查看   
#5楼2010-02-28 11:19 | dbens      
重典兄:急死我了。
配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

分析器错误消息: 未能加载文件或程序集“System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。

源错误: (下面这一行是红色)
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

我在服务器上添加.mvc扩展名时,找不到那个
X:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"aspnet_isapi.dll

请问如何解决?

 回复 引用 查看   
#6楼2010-02-28 12:59 | dbens      
网站属性扩展名问题解决了,但是只能打开首页,其他页面都打不开:无法找到该页
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
这是为什么呢?

 回复 引用 查看   
#7楼[楼主]2010-03-01 18:39 | 重典      
@dbens
你具体怎么配的,一步一步发来,看看有没有什么漏掉的

 回复 引用 查看   
#8楼2010-03-02 09:09 | dbens      
问题已解决,多谢典兄!
 回复 引用 查看   
#9楼2010-12-01 10:31 | 李晓强      
楼主,可以执行扩展方法么?
应该是不能执行扩展方法吧?如果不能执行扩展方法,好像没啥意义了...
毕竟Mvc里面动辄 Html.RenderPartial,Html....之类的...

 回复 引用 查看   
#10楼2010-12-22 14:47 | Staid      
不用扩展名,设置通配符后,找不到网页
 回复 引用 查看   
#11楼[楼主]2010-12-22 14:49 | 重典      
@Staid
看看有没有漏选的