当前位置:  开发笔记 > 编程语言 > 正文

使用ASP.NET MVC的IIS应用程序请求路由(ARR)

如何解决《使用ASP.NETMVC的IIS应用程序请求路由(ARR)》经验,为你挑选了2个好方法。

我使用一个简单的ASP.NET MVC Web(您在创建新站点时使用的模板),并且Web在我的实时环境中按预期工作.

我现在尝试使用IIS应用程序请求路由版本2.我有一个规则,将所有请求发送到与规则匹配的其他服务器.

设置有点像这样:http://blogs.iis.net/wonyoo/archive/2008/07/09/application-request-routing-arr-as-a-reverse-proxy.aspx

替代文字

我的规则与/ shop(.*)略有不同.只有包含商店的请求才会发送到其他服务器.我必须使用重写,而不是重定向(与图片中相同)

只要原始请求转到非ASP.NET MVC Web,这就可以工作.我试图在web文件夹中使用普通的htm文件并且它有效.如果将已编译的ASP.NET应用程序放入web文件夹中,则可以正常工作.但是,只要我将ASP.NET MVC Web放入该文件夹,请求此应用程序提供服务.

我的理解是ARR应该在Web应用程序有机会处理请求之前启动.有没有人成功使用ARR作为ASP.NET MVC网络的反向代理?

编辑

输入重写轮次时,这是生成的Web配置.通过此规则,我得到一个404,表示该规则未被使用.





  
    
      
        

yoel halb.. 15

在Global.asax.cs文件中添加以下路由条目:

routes.IgnoreRoute("Shop/{*pathInfo}");

这解决了我的问题.

似乎MVC路由系统在ARR之前启动,这在集成模式下运行时是有意义的.



1> yoel halb..:

在Global.asax.cs文件中添加以下路由条目:

routes.IgnoreRoute("Shop/{*pathInfo}");

这解决了我的问题.

似乎MVC路由系统在ARR之前启动,这在集成模式下运行时是有意义的.



2> Josh..:

我们几乎完全按照您描述的相同设置.我们发现MVC和ARR在同一网站上不会很好.我怀疑是因为MVC路由和ARR路由做了类似的事情并且干扰了.要解决这个问题,我们必须将ARR规则放在一个单独的网站中.域和所有内容都指向ARR站点,然后ARR站点会将请求发送到需要的位置.

我们有处理特定情况的特定规则,以及最后将全部请求发送到MVC站点的全能规则.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有