小编dav*_*nry的帖子

WebBrowser控件无法触发事件处理程序

在特定情况下,WebBrowser控件无法触发NavigationCompleteNavigationFailed处理事件.

这是应该发生的事情:

  1. 原生Windows Phone 8.1 Silverlight应用程序实例化a WebBrowser并为其提供加载身份验证网页的URL.
  2. WebBrowser 控件加载网址并呈现页面.
  3. 用户输入凭据并点击提交按钮以将信息POST到auth服务.
  4. Auth服务验证凭据并以302(重定向)响应.
  5. WebBrowser 控制遵循重定向.
  6. NavigationComplete事件处理程序被附接到控制.当它找到指示重定向成功的url模式时,它会执行另一个方法.
  7. 附加方法从重定向url查询参数中提取openid标记.
  8. 用户经过身份验证并感到满意.

实际发生了什么:

用户在步骤#3提交其凭据后,将WebBrowser呈现空白页面,并且不会触发任何事件处理程序.代码正在侦听WebBrowser控件提供的每个导航事件处理程序.

我尝试过的:

  • 使用测试heroku服务器尽可能地重新创建场景.WebBrowser转到虚拟凭据输入页面,其中有一个POST提交按钮,再次点击heroku; heroku以302和真正的重定向url响应.该WebBrowser作品就好了O_O
  • 添加的onTap事件WebBrowser检查当前的URL /导航到另一个页面,以查看在空白页错误后控件是否以某种方式被破坏.的WebBrowser正确响应.
  • 确保在控件上启用了Javascript.
  • 使用完全相同的服务器端基础结构与Windows 8平板电脑应用程序共享90%的相同代码但具有WebView控件.该WebView作品就好了.

有什么建议?有没有人经历过这样的控制呢?有没有人知道可以解决这个问题的库(商业或开源).适用于WindowsAndroid桥接器适用于WindowsiOS桥接器是否支持Windows Phone 8?

c# webbrowser-control windows-phone-8.1

7
推荐指数
1
解决办法
329
查看次数

一个包含所有拦截器的 OkHttpClient 与多个包含特定拦截器的 OkHttpClient

我有许多不同的 OkHttpClient 请求拦截器。每个拦截器仅适用于应用程序发出的网络请求的子集。到目前为止,我已经想出了两种可能的设计。我是不是该:

  • 将每个拦截器附加到单个 OkHttpClient 客户端。

或者

  • 克隆每组拦截器的客户端,以便每个 OkHttpClient 仅具有这些请求所需的拦截器。

谢谢!

android okhttp retrofit2

7
推荐指数
1
解决办法
2699
查看次数