2013-01-08 34 views
1

我設立的Facebook身份驗證servicestack並已獲得的返回類型#F =未知,我已經跟蹤它從認證裝置出來:DownloadURL失敗是由於代理認證

try 
{ 
    var contents = accessTokenUrl.DownloadUrl(); 
    var authInfo = HttpUtility.ParseQueryString(contents); 
    tokens.AccessTokenSecret = authInfo["access_token"]; 
    session.IsAuthenticated = true; 
    authService.SaveSession(session, SessionExpiry); 
    OnAuthenticated(authService, session, tokens, authInfo.ToDictionary()); 

    //Haz access! 
    return authService.Redirect(session.ReferrerUrl.AddHashParam("s", "1")); 
} 
catch (WebException we) 
{ 
    var statusCode = ((HttpWebResponse)we.Response).StatusCode; 
    if (statusCode == HttpStatusCode.BadRequest) 
    { 
     return authService.Redirect(session.ReferrerUrl.AddHashParam("f", "AccessTokenFailed")); 
    } 
} 

//Shouldn't get here 
return authService.Redirect(session.ReferrerUrl.AddHashParam("f", "Unknown")); 

的它通過的原因是catch檢查響應狀態碼。在我的場景中,我收到了407代理身份驗證要求。

我進一步跟蹤它到行:

var contents = accessTokenUrl.DownloadUrl(); 

任何人能與我如何落實到位所需的代理認證幫助?

有關信息,我的應用程序運行在Windows環境中,它作爲Windows身份驗證用戶運行,因此具有權限訪問代理服務器,我只需告訴代碼使用這個或任何憑據。

感謝預期

回答

0

您可以通過設置在web.config中<defaultProxy/>嘗試setting the default proxy for .NET applications

<configuration> 
    <system.net> 
    <defaultProxy> 
     <proxy 
     usesystemdefaults="true" 
     proxyaddress="http://192.168.1.10:3128" 
     bypassonlocal="true" 
     /> 
     <bypasslist 
     <add address="[a-z]+\.contoso\.com" /> 
     </bypasslist> 
    </defaultProxy> 
    </system.net> 
</configuration> 
+0

感謝您的快速反應。服務器配置已更新,以便它們不需要通過代理,並已爲我修復。 – MikeT