Aspx异步调用 - 完整域名服务器名称

时间:2016-04-27 14:19:56

标签: c# asp.net asynchronous windows-authentication

我有一个ASPX页面,它异步调用Web服务:

   public async Task GetTypeAccess()
   {
        HttpResponseMessage response = await new Common.HttpClient().GetAsync("http://webserviceURL:port/Accounts/CurrentUser");
        string responseContent = await response.Content.ReadAsStringAsync();

        if (response.IsSuccessStatusCode)
        {
            ..                
        }
        else
        {
           Response.Redirect("~/AccessDenied.html");
        }
    }

在页面加载中,此方法注册为异步

protected void Page_Load(object sender, EventArgs e)
 {
     if(!IsPostBack)
     {
           RegisterAsyncTask(new PageAsyncTask(GetTypeAccess));
     }
}

ASPX页面被声明为异步

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind=...  Async="true" %>

现在,如果使用IP地址或主机名调用页面,则会触发Web服务调用,等待响应并验证用户身份:

http://IP_address:60815/Home/MainPage.aspx
http://hostname:60815/Home/MainPage.aspx

如果我使用完整域名调用该页面(并使用其完整域名更新),则不会触发Web服务调用,并打开AccessDenied页面。

http://hostname.subdomain.com:60815/Home/MainPage.aspx

似乎该方法应该是异步的,实际上并不是#34;在第二种情况下等待&#34; -ing for the call。

我实际上找不到这两件事之间的关系,但只需更改包含完整域名的URL(page和webserviceURL),行为就不同了。

使用Windows身份验证

0 个答案:

没有答案