我正在使用IIS 7 Rewrite模块来重写传入的URL,如:

一切正常,除了当处理重写的请求时,我使用MVC的UrlHelper.GenerateUrl()方法:

UrlHelper.GenerateUrl(

"Assets","Css","Asset",new RouteValueDictionary(new { site = site.Name,assetPath = assetPath }),RouteTable.Routes,controllerContext.RequestContext,false);

调用此方法会导致HttpException:

System.Web.HttpException: Cannot use a leading .. to exit above the top directory.

at System.Web.Util.UrlPath.ReduceVirtualPath(String path)

at System.Web.Util.UrlPath.Reduce(String path)

at System.Web.VirtualPath.Combine(VirtualPath relativePath)

at System.Web.VirtualPathUtility.Combine(String basePath,String relativePath)

at System.Web.Mvc.PathHelpers.GenerateClientUrlInternal(HttpContextBase httpContext,String contentPath)

at System.Web.Mvc.PathHelpers.GenerateClientUrl(HttpContextBase httpContext,String contentPath)

at System.Web.Mvc.UrlHelper.GenerateUrl(String routeName,String actionName,String controllerName,RouteValueDictionary routeValues,RouteCollection routeCollection,RequestContext requestContext,Boolean includeImplicitMvcValues)

看到RequestContext,似乎所有的请求路径都是正确的(即重写的值).我似乎无法弄清楚为什么它试图退出顶级目录…在路径中没有任何地方使用….

我还确保RewriteModule位于IIS中的UrlRouting模块之上.

虽然我可以进入框架方法,但我无法检查任何本地变量(在VS或WinDbg中),因为它已被编译器优化.

有什么想法吗?

linux关闭urlhelper服务,ASP.NET MVC UrlHelper.GenerateUrl异常:“无法使用导航..退出顶部目录”...相关推荐

  1. ASP.NET MVC 音乐商店 - 10. 完成导航和站点的设计

    ASP.NET MVC 音乐商店 - 10. 完成导航和站点的设计 我们已经完成了网站的大部分工作,但是,还有一些添加到站点的导航功能,主页,以及商店的浏览页面. 创建购物车汇总部分视图 我们希望在整 ...

  2. 菜鸟程序员之Asp.net MVC Session过期异常的处理

    菜鸟程序员之Asp.net MVC Session过期异常的处理 参考文章: (1)菜鸟程序员之Asp.net MVC Session过期异常的处理 (2)https://www.cnblogs.co ...

  3. linux关闭cups服务 关闭631端口 关闭avahi-daemon服务

    linux系统中打印机使用631端口,进行通信,对于没有打印机的小伙伴关闭这个端口是很有必要的,减少攻击的可能性.这个服务依赖其他服务,所以要一起关闭,防止这个服务被其他服务唤醒. avahi-dae ...

  4. Linux 关闭crond服务,linux crond 服务配置详解

    cron 是linux的内置服务,可以用以下的方法启动.关闭这个服务: 引用: /sbin/service crond start //启动服务 /sbin/service crond stop // ...

  5. linux关闭telnet服务的命令,linux如何开启telnet服务

    linux系统你只到吗,他可以开启telnet服务,那linux如何开启telnet服务的呢?下面是学习啦小编收集整理的linux如何开启telnet服务,希望对大家有帮助~~ linux开启teln ...

  6. linux关闭ftp服务命令,Linux命令ftpshut 在指定时间后关闭ftp服务

    ftpshut命令用于在指定时间后关闭ftp服务.ftpshut是proftpd中一个重要命令. ftpshut命令用于管理员在设置的时间关闭FTP服务器,在关闭之前会发出警告信息通知用户.关闭时间若 ...

  7. linux下关闭网络服务,Linux 关闭网络管理服务

    关于各种类型数据char.int.double.float 所占空间长度的计算,而char类型让我长姿势了 #include int main() { using namespace std; //i ...

  8. Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 (多级路由) 如:Admin/Test/Index...

    http://blog.csdn.net/buhuan123/article/details/26387427 目录(?)[-] 1那么我们再来看我们需要的访问方式如下图 razor视图的地址写成通配 ...

  9. linux关闭xdmcp服务,使用Xmanager远程CentOS 7服务器(XDMCP)

    0. 前言 基本概念 简略概述 Display Manager 提供登录需求 在文字界面下可以通过startx来启动Xwindows 在runlevel 5下,在tty7处有可以使用的图形登录界面(方 ...

  10. Linux 关闭网络管理服务

    1 将NetworkManager 服务设置开机不启动 chkconfig NetworkManager off 2将NetwokManager服务关闭 service NetworkManager ...

最新文章

  1. 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。...
  2. 微信JSApi支付~微信支付代理模式的实现(原创)
  3. 以太网的MAC帧(一)
  4. Java虚拟机内存分配策略
  5. 2009年网页设计10大趋势
  6. Codeforces Round #647 (Div. 2) - Thanks, Algo Muse!(AB)
  7. html邮箱地址的正则表达式,javascript写一个校验邮箱的正则表达式
  8. 白中英 计算机组成原理_计算机组成原理 第五版.立体化教材 白中英 大学教材...
  9. java integer_Java之Integer类
  10. html中地图的绘制toolbars,tkinter内嵌Matplotlib系列(二)之函数曲线绘制
  11. 为什么工作7年又来开博客?
  12. 队列的基本操作c语言代码大全,数据结构――队列(循环队列)的基本操作(实现链队列逐一取出c语言代码)...
  13. cad无法安装_装机必备!免安装CAD迷你看图特别版PC软件
  14. NS方程求解-NSFnet
  15. 舵机弹跳机器人_Nature:蚂蚁机器人弹跳力惊人 还会分工合作
  16. ott运营商的盈利模式
  17. 仰望星空,脚踏实地 2016
  18. kali之永恒之蓝使用流程(操作全套步骤)
  19. Unity 的阴影实现原理
  20. Discuz!uc.key泄露导致代码注入漏洞uc.php的解决方法

热门文章

  1. python怎样终止程序_python终止程序
  2. 2021软考网络工程师2004-2020年真题含答案解析(最新)
  3. 7种方案,彻底实现Python可视化图片大小/分辨率控制自由
  4. 行业方案|“机场”行业智能运维解决方案介绍
  5. 【Python】Qt国际化ts文件转excel文件(xml转excel)
  6. notebook使用技巧
  7. JAVA数据类型转换大全
  8. 什么是低代码(LowCode)/无代码(NoCode)平台?
  9. 深入理解Nginx 阅读笔记(一)
  10. Java连接MySQL数据库步骤