2

我正在使用 Facebook 授权的 WPF 客户端。我正在使用 WebBrowser 控件并显示 facebook 的登录页面,然后进行一些重定向,最后它显示了我的页面,其中包含 url 中的访问令牌。

然后我抓住这个令牌并保存它,我在我的表单上调用 Close()。窗口关闭,但几乎是在 IE 弹出一个显示成功页面的单独窗口之后。

我怎样才能阻止这个新窗口弹出?

这是我的代码(其中一些)

private void WebBrowserNavigated(object sender, WebBrowserNavigatedEventArgs e)
{

   string url = e.Url.ToString();

   var result = Regex.Match(url, @"access_token=(?<token>[\d|\w]+)&");
   if (result.Success)
   {
      string token = result.Groups["token"].Value;
      Reader.SetAccessToken(token, SocialNetworkInformation.SocialNetwork.Facebook, url: e.Url);

       this.Close();
   }  
}
4

1 回答 1

0

我解决了我的问题。不是最好的方法,但它有效。

我没有在收到响应后立即关闭表单,而是调用了一个关闭此表单的委托方法。在 0,3 秒上设置一个计时器。窗口存在足够长的时间来接收答案,但几乎没有足够长的时间让用户看到响应。

于 2013-03-08T09:54:19.327 回答