2015-04-14 13 views
7

Web uygulamamda Facebook/ kullanarak kayıt/giriş yapma seçeneği eklendi ve iyi çalışıyor. C# ve ASP.NET kodlama VS2013 ile çalışan m ve hata ayıklama başladığında ve bu düğmeye basın Facebook'a bağlanır ve gerekli tüm bilgileri getiriyor.Web uygulaması aracılığıyla Facebook'a bağlanmaya çalışırken bir süre sonra SSL/TLS güvenli kanalı oluşturulamadı

Hata ayıklamaya başladığımda ve bir süre sonra Facebook düğmesine bastığımda sorunlar başlıyor, zaten bunun bir tür zaman aşımı olduğunu anlıyorum, ancak nasıl çalışacağımı bilmiyorum.

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; 
     FaceBookConnect.API_Key = "**************"; 
     FaceBookConnect.API_Secret = "**************************"; 
     if (!IsPostBack) 
     { 
      if (Request.QueryString["error"] == "access_denied") 
      { 
       Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('User has denied access.')", true); 
       return; 
      } 

      string code = Request.QueryString["code"]; 
      if (!string.IsNullOrEmpty(code)) 
      { 
       string data = FaceBookConnect.Fetch(code, "me"); 
       FaceBookUser faceBookUser = new JavaScriptSerializer().Deserialize<FaceBookUser>(data); 
       faceBookUser.PictureUrl = string.Format("https://graph.facebook.com/{0}/picture?width=9999", faceBookUser.Id); 
       string fname = faceBookUser.Name.Substring(0, faceBookUser.Name.IndexOf(' ')); 
       string lname = faceBookUser.Name.Substring(faceBookUser.Name.IndexOf(' ') + 1); 
       string email = faceBookUser.Email + "@FB"; 
       string pictureurl = faceBookUser.PictureUrl; 
       string gender = faceBookUser.Gender; 
       if (SQLDB.CheckMailExists(email)) 
       { 
        FormsAuthentication.SetAuthCookie(email, true); 
        FormsAuthentication.RedirectFromLoginPage(email, true); 
       } 
       else 
       { 
        SQLDB.AddFBUser(fname, lname, email, gender, pictureurl); 
        FormsAuthentication.SetAuthCookie(email, true); 
        FormsAuthentication.RedirectFromLoginPage(email, true); 
       } 
      } 
     } 

Ve düğme 'Facebook'un ile Girişi' arasında 'Click' kod int bu kodu:

FaceBookConnect.Authorize("user_photos,email", Request.Url.AbsoluteUri.Split('?')[0]); 

Üstadımın sayfasında benim Page_Load bu kod parçası var Page_Load'dan Click eylemine kadar olan tüm kodları harekete geçirmeyi denedim, böylece sadece kullanıcı düğmeye bastığında bağlanacak ve bağlantı kuracaktır. Bu nedenle, herhangi bir nedenden dolayı ...

Ben kod web üzerinden aldı ve benim için yapılmış değildi bir şey olduğu için ne yapacağım gerçekten emin değilim, bana ihtiyacım var ne zaman Facebook sunucuları sadece yenilenmesi veya bağlanmak için bana söyleyebilirim .. Teşekkürler !

+1

Hangi üçüncü taraf SDK kullanıyorsunuz? Nasıl çalıştığına dair belgeleri okudunuz mu? Belgelenmiş bir SDK'yi kullanmanızı ve http://facebooksdk.net/ gibi çalışmalarını anlamanızı öneririz. Kod parçacıklarınız, oturumu nasıl uygulayacağınız veya tam olarak sorunun oluştuğu yer hakkında yeterli bilgi sağlamıyor. –

+0

Belki de kodu aldığınız bir bağlantı ekleyebilirsiniz? – DJmRek

cevap

0

Facebook bağlantınızın zaman aşımına uğradığından şüpheleniyorsanız, bunu başka bir istisna olarak ele almanız ve giriş sayfanıza yeniden yönlendirmeniz gerekir. İşte benim kodum:

catch (Exception ex) 
      { 
       if (ex is AggregateException && ex.InnerException is Facebook.FacebookOAuthException && usedState != null && HttpContext.Current != null) 
       { 
        HttpContext.Current.Response.Redirect("~/FacebookLogin.aspx?logout=true"); 
       } 
       else 
       { 
        throw; 
       } 
      } 
İlgili konular