加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用现有的Webforms站点运行MVC

发布时间:2020-12-15 21:25:07 所属栏目:百科 来源:网络整理
导读:我读过有关将MVC 3添加到现有webforms网站的各种文章.我已经对webforms站点的全局asax进行了更改,以支持MVC以及对web.config的更改.但是仍然存在一些问题. MVC 3是贪婪的 – 默认情况下,它接管网站的根目录,以便导航到根目录,我转到mvc的入口页面,而不是我想
我读过有关将MVC 3添加到现有webforms网站的各种文章.我已经对webforms站点的全局asax进行了更改,以支持MVC以及对web.config的更改.但是仍然存在一些问题.

> MVC 3是贪婪的 – 默认情况下,它接管网站的根目录,以便导航到根目录,我转到mvc的入口页面,而不是我想要的webforms页面.要在导航到root时要清楚,我希望它转到mysite.com/default.aspx.要修复站点根我添加

routes.MapPageRoute(“SiteRoot”,“”,“?/ Default.aspx”)
然而,这会打破MVC网址,这样我最终会搞砸网页

http://localhost:86/default?action=Index&controller=Blog
我如何修复它,以便站点根目录转到webforms default.aspx并仍然让我的MVC网址正确?
> MVC 3打破了webform使用的HttpHandlers.具体来说,我使用处理程序将远期未来的expires头添加到图像中,并使用资源处理程序来组合样式表和javascript文件. RegisterRoutes中任何路由的存在都会破坏这些处理程序,以便样式表不会通过资源处理程序加载,并且我将失去远期的未来,并且还有一个httpcompression模块也会停止工作.那么如何在保留网站MVC 3部分的路由的同时,为webforms维护我的httphandlers和模块呢?

这两个问题我没有看到任何人在关于混合MVC3和webforms的各种博客文章中提到.

哦,我在global.asax中有routes.IgnoreRoute(“{resource} .aspx / {* pathInfo}”).资源处理程序使用aspx文件扩展名,所以我认为然后在全局中排除hanlder会起作用,但我猜不会.

我知道的另一个选项是在wbeforms网站内设置一个文件夹并将其作为自己的应用程序起点运行 – 但是我最终得到了一个我真的不想要的网址,例如site.com/blog/blog/index第一个博客是作为自己的应用程序点运行的文件夹,第二个博客是控制器.

解决方法

我能找到的最佳解决方案是不将MVC 3与现有的webforms网站混合使用.而是将MVC目录设置为自己的应用程序起点,然后从该文件夹运行MVC,以便它和现有的webforms应用程序完全不知道彼此.以这种方式,资源处理程序和httpmodules以及其他处理程序仍然适用于webforms站点.通过这种方式,域根默认为webforms default.aspx而不是MVC.此外,我不必将该条目放入global.asax,这反过来搞砸了mvc 3网址.下一个问题是处理网址,以便我没有url lke blog / blog / post / 1.要解决此问题,我将html操作链接更改为

@Html.ActionLink(item.PostTitle,"Post",New With {.id = item.PostId},Nothing)

然后对global.asax进行更改 – 将默认路由更改为(只需删除{controller}:

routes.MapRoute( _
        "Default",_
        "{action}/{id}",_
        New With {.controller = "Blog",.action = "Index",.id = UrlParameter.Optional},New String() {"RiderDesignMvcBlog.Core.Controllers"})

所以现在而不是博客/博客/索引或博客/博客/帖子/ 1我得到一个适当的干净网址没有网址中的重复博客 – 博客/帖子/ 1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读