Asp.net IIS 7 URLreferer引发异常

Asp.net IIS 7 URLreferer引发异常,asp.net,iis-7,Asp.net,Iis 7,当我得到参考url时,IIS 7抛出一个异常。我的代码如下: var referrer = Request.UrlReferrer == null ? null : Request.UrlReferrer.AbsoluteUri; 应用程序抛出ArgumentException,并显示错误消息 “值不在预期范围内。” IIS 6中没有问题 当使用“Response.Redirect”导航页面时,会发生此异常 应用程序主页面有响应。根据当前用户的角色重定向方法。用户主页抛出此异常 如何在IIS

当我得到参考url时,IIS 7抛出一个异常。我的代码如下:

var referrer = Request.UrlReferrer == null ? null : Request.UrlReferrer.AbsoluteUri;
应用程序抛出ArgumentException,并显示错误消息

“值不在预期范围内。”

IIS 6中没有问题

当使用“Response.Redirect”导航页面时,会发生此异常

应用程序主页面有响应。根据当前用户的角色重定向方法。用户主页抛出此异常

如何在IIS 7中获取推荐人URL


谢谢,

当我试图从请求处理中启动的System.Threading.Task访问请求对象时,遇到了类似的问题。 我使用任务来减少响应时间——在我的情况下,大多数处理可以在发送请求后执行。 也就是说,我有这样的想法:

public ActionResult SomeAction()
{
    new System.Threading.Task(() => {

        // here I used this.Request.UrlReferrer and got weird ArgumenException error

    }).Start();

    return someActionResultThatDoesntRequireProcessing;
}
我已将延迟处理中的URLreferer(以及我需要的其他this.Request.stuff)提取到一个单独的“closure”变量中(我选择它们具有非常基本的类型):


这对我很有用。

因此,在重定向页面之前,我必须先获取引用者url。也许,因为在重定向以及切换到其他线程后,正确获取所有请求属性的某些上下文可能已丢失。@hanzala能否详细说明是什么解决了您的问题?这是LVR发布的确切代码吗?谢谢我将URLreferer作为参数发送到异步方法。我没有将请求对象作为参数。
public ActionResult SomeAction()
{
    var urlReferrerAbs = this.Request.UrlReferrer.AbsoluteUri;
    var clientAddress = this.Request.UserHostAddress;
    // save other stuff from the request object

    new System.Threading.Task(() => {

        // here I used urlReferrerAbs instead of this.Request.UrlReferrer and the error has gone!

    }).Start();

    return someActionResultThatDoesntRequireProcessing;
}