2011-03-09 62 views
0

我想知道爲什麼那個程序員使用了一個try塊。那是一個有名的實踐表單認證練習

try 
        { 
         FormsAuthentication.RedirectFromLoginPage(username, pass; 

        } 
        catch 
        { 
         string strURL = (null != Request.QueryString["ReturnURL"] && Request.QueryString["ReturnURL"] != "") ? Request.QueryString["ReturnURL"] : "Default.aspx"; 

         FormsAuthentication.SetAuthCookie(username, pass); 

         Response.Redirect(strURL); 
        } 

感謝

回答

0

方法可以拋出。這是它的一部分:

// .... 

if (CookiesSupported || IsPathWithinAppRoot(current, returnUrl)) 
{ 
    // .... 
} 
else 
{ 
    if (!EnableCrossAppRedirects) 
    { 
     throw new HttpException(SR.GetString("Can_not_issue_cookie_or_redirect")); 
    } 
    // .... 
} 

// .... 

你可以在Reflector中自己看到它的全部內容。

0

ReturnURL是一個參數,指定登錄後要去哪裏。如果它缺少,你可能想把它處理爲Default.aspx,就是這樣。