我有一个ASP.Net clssic网络表单,该表单从Windows桌面应用程序(通过浏览器控件)调用以生成打印输出。打印输出需要一段时间,我决定在加载数据时显示gif,然后在完成后显示报告。这是代码的一部分:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// At this point, Request.Headers["Authorization"] has certain value received from the caller
var fetch = "__doPostBack('asyncCall', '1');";
ScriptManager.RegisterStartupScript(someUpdatePanel, this.GetType(), "pageLoad", fetch, true);
}
else
{
// At this point, Request.Headers["Authorization"] no longer contains any value
if (Request["__EVENTTARGET"] == "asyncCall" && Request["__EVENTARGUMENT"] == "1")
DoSomething()
}
}
private void Page_Init(object sender, EventArgs e)
{
// GetUserFromAuthorizationToken checks credentials provided in Request.Headers["Authorization"]
if (GetUserFromAuthorizationToken() <= 0)
{
throw new UnauthorizedAccessException("Invalid User Credentials");
}
}
第一次执行Page_Load时,它会从调用方获取授权标头,但是从javascript(回发)中调用它时,它不再具有授权。
有没有办法保留回传的自动化标题?