Asp.net Response.AppendHeader刷新在iis中不工作的页面

Asp.net Response.AppendHeader刷新在iis中不工作的页面,asp.net,iis-7,Asp.net,Iis 7,我使用以下方法重定向到主页。它在本地iis中工作,但在生产服务器中不工作。有人知道为什么会这样 Response.AppendHeader("Refresh", "10; URL=~/Default.aspx"); 这似乎是URL参数中的问题。您在那里使用根操作符(tilde~),应该通过使用方法在服务器端解析(否则客户端将无法解析)。因此,将代码更改为: Response.AppendHeader( "Refresh", string.Format("10; URL={0}

我使用以下方法重定向到主页。它在本地iis中工作,但在生产服务器中不工作。有人知道为什么会这样

Response.AppendHeader("Refresh", "10; URL=~/Default.aspx");

这似乎是
URL
参数中的问题。您在那里使用根操作符(tilde
~
),应该通过使用方法在服务器端解析(否则客户端将无法解析)。因此,将代码更改为:

Response.AppendHeader(
    "Refresh", 
    string.Format("10; URL={0}", VirtualPathUtility.ToAbsolute("~/Default.aspx"))
);

应该能解决问题。

那没用。但我发现了问题所在。它与应用程序池一起运行。当我使用ASP.NET v4.0 Classic时,它可以正常工作。但是我不能使用Classic pool,因为它会导致身份验证错误。