TransferResult处理中用MvcHttpHandler在mvc3和mvc5区别
2015-08-21 16:03
591 查看
“System.InvalidOperationException”类型的异常在 System.Web.dll 中发生,但未在用户代码中进行处理
其他信息: 只能在引发“HttpApplication.AcquireRequestState”之前调用“HttpContext.SetSessionStateBehavior”。
重点是下面的:
// MVC3+ running on IIS 7+
if (HttpRuntime.UsingIntegratedPipeline)
{
httpContext.Server.TransferRequest(this.Url, true);
}
else
{
// Pre MVC 3
httpContext.RewritePath(this.Url, false);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(httpContext);
}
“System.InvalidOperationException”类型的异常在 System.Web.dll 中发生,但未在用户代码中进行处理
其他信息: 只能在引发“HttpApplication.AcquireRequestState”之前调用“HttpContext.SetSessionStateBehavior”。
/// <summary> /// Transfers execution to the supplied url. /// </summary> public class TransferResult : ActionResult { public string Url { get; private set; } public TransferResult(string url) { this.Url = url; } public override void ExecuteResult(ControllerContext context) { if (context == null) throw new ArgumentNullException("context"); var httpContext = HttpContext.Current; // MVC 3+ running on IIS 7+ if (HttpRuntime.UsingIntegratedPipeline) { httpContext.Server.TransferRequest(this.Url, true); } else { // Pre MVC 3 httpContext.RewritePath(this.Url, false); IHttpHandler httpHandler = new MvcHttpHandler(); httpHandler.ProcessRequest(httpContext); } } }
重点是下面的:
// MVC3+ running on IIS 7+
if (HttpRuntime.UsingIntegratedPipeline)
{
httpContext.Server.TransferRequest(this.Url, true);
}
else
{
// Pre MVC 3
httpContext.RewritePath(this.Url, false);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(httpContext);
}
相关文章推荐
- C#获取网络图片显示到picturebox
- VCenter中嵌套openstack VM不能ping通外部网络问题解决办法
- Codeforces 546E - Soldier and Traveling (网络流输出流量)
- 网络技术转载链接汇总
- TCP/IP-链路层
- Http session cookie
- Nginx 开始对 HTTP/2 提供早期支持了
- CS231N 卷积神经网络课程学习笔记
- http://map.norsecorp.com/
- Apache HTTP Server与Apache Tomcat 的英文定义以及使用区别?
- 最简单的基于Flash的流媒体示例:网页播放器(HTTP,RTMP,HLS)
- MSXML2.ServerXMLHTTP responseText 获取的内容不完整,解决方案
- centos 挂载iscsi 连接网络存储 vnxe
- 网络打洞(P2P软件穿透内网进行通信) 原理
- HTML5之SVG详解(一) 时间 2012-12-21 19:49:00 博客园-原创精华区 原文 http://www.cnblogs.com/hupeng/archive/2012/12/2
- ConnectEx成功后设置SO_UPDATE_CONNECT_CONTEXT
- 用YourAPP开发网络状态提醒应用
- TCP/IP-概述
- TCP网络编程(Python)
- 问题:HttpWebRequest request post 传参; 结果:好用的C# HttpWebRequest用Post同时提交参数和文件的封装类