silverlight - 如何使用WebBrowser控件注册自己的协议(protocol)?

标签 silverlight windows-phone-7 webbrowser-control

在带有 WebBrowser 控件的 WP7 Silverlight 应用程序中,我想使用自己的协议(protocol)(如“myttp://”)来传递一些本地内容。我无法使用 Navigate() 访问isolatedstorage,因为某些内容将根据需要创建。出于同样的原因,NavigateToString() 对我来说也无法使用。

我尝试为我的 MYTP 协议(protocol)注册一个 WebRequestCreator

myCreator = new MyRequestCreator(); 
WebRequest.RegisterPrefix("mytp://", myCreator);

但如果我导航到“mytp://test.html”,则不会从浏览器控件调用它。 如果我通过代码创建一个 WebRequest

WebRequest request;
request = WebRequest.Create("mytp://test.html");`

一切正常。

有什么问题或如何做的建议吗?

最佳答案

WebBrowser 控件将使用 Windows Phone Internet Explorer 浏览器的 HTTP 堆栈来统计 Web 请求。此 HTTP 堆栈完全独立于应用程序使用的客户端 HTTP 堆栈。因此浏览器根本看不到您的协议(protocol)。

关于silverlight - 如何使用WebBrowser控件注册自己的协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4689237/

相关文章:

c# - Prism 模块在 View 中拥有自己的区域

c# - 指南针 UI 和指针

c# - 在 Windows Phone 中自定义闹钟

c# - 高 DPI 页面无法在 Web 浏览器控件中正确显示

vb.net - Vb.Net Element.InvokeMember (“click”)

c# - DEL 和 BACKSPACE 键从 WebBrowser 中被吃掉

wpf - Color 和 SolidColorBrush 的区别澄清

wpf - 为什么这有效? (在全景模板中绑定(bind),Windows Phone 7)

silverlight - 如何延长 Silverlight 2.0 中 Web 服务的超时时间?

c# - 在整个 Silverlight C# 项目中使用常量字符串的正确方法是什么?