Страница перенаправления asp.net facebook - не может сделать перенаправление ответа - PullRequest
0 голосов
/ 09 декабря 2011

Мне нужно руководство, пожалуйста.Я создал страницу default.aspx, которая отображает имя пользователя, но также содержит кнопку, которая перенаправляет на страницу result.aspx onclick.Кажется, что каждый раз, когда я нажимаю на кнопку, я получаю ошибку бесконечного цикла.Что я должен сделать на page_load из result.aspx, чтобы получить эту работу?

Вот мой код от default.aspx:

string appId = "xxxxxxxxxxxxxxxxxxx";
string appSecret = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
FacebookCookie cookie = null;
FacebookClient app = new FacebookClient();
FacebookOAuthClient oAuth = new FacebookOAuthClient();
// FacebookWebClient apps = new FacebookWebClient();
FacebookApp apps = new FacebookApp();

string myRedirect_uri = "http://www.mydomain.com";
protected void Page_Load(object sender, EventArgs e)
{
    if(apps.Session != null)
    //if (IsConnected())
    {
        display(apps.AccessToken);
    }
    else
    {
        Response.Redirect("https://www.facebook.com/dialog/oauth?client_id=" + appId + "&redirect_uri=http://www.mydomain.com&scope=email");
        name.Text = "no connected";
    }


}
public bool IsConnected()
{
    if (cookie == null)
        cookie = FacebookCookie.GetCookie(appId, appSecret);
    return cookie != null && cookie.UserId != 0 && !string.IsNullOrEmpty(cookie.SessionKey);
}
protected void display(string token)
{
    FacebookClient thisclient = new FacebookClient(token);
    dynamic dname = thisclient.Get("me");
    name.Text = dname.name;
    imgProfile.ImageUrl = "http://graph.facebook.com/" + dname.id + "/picture?type=large";
}
protected void btn_Click(object sender, EventArgs e)
{
    Response.Redirect("~/resutl.aspx");
}

1 Ответ

0 голосов
/ 09 декабря 2011

Эта строка будет обрабатываться при каждом запросе:

FacebookApp apps = new FacebookApp();

Вы это понимаете?Это то, что вы хотите?

Я спрашиваю, потому что в Page_Load у вас есть:

if(apps.Session != null)

Что, кажется, всегда верно, так как приложения - это новый экземпляр с предположительно новым сеансом.Другими словами, ваш else блок на Page_Load никогда не сработает.Но здесь дело не в этом.

Так что мне кажется, что приложение загружается нормально, вы нажимаете кнопку, вызывается обработчик btn_Click и пользователь перенаправляется на resutl.aspx, а затем result.aspx должен делать что-то, что приводит к перенаправлению пользователя на default.aspx, как, например, например, проверка, аутентифицирован ли пользователь или нет.

Какой тип аутентификации вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...