小编Joh*_*haw的帖子

用于webbrowser控件中的跨域XMLHTTP请求的IInternetSecurityManager URLACTION_CROSS_DOMAIN_DATA和异步可插入协议

我使用C#在.net 2.0应用程序中实现了异步可插拔协议,它将存储在本地机器上的html文件加载到MemoryStream中.

当我使用本地文件路径在webbrowser控件中正常加载html文件时,xmlhttprequest工作正常但通过协议加载文件并尝试使用xmlhttprequest返回拒绝访问错误.

我认为这种行为是由于webbrowser控件不再知道html文件存储在本地计算机上,并将它们加载到不受信任的Internet区域.

即使我在IInternetSecurityManager的ProcessUrlAction中为URLACTION_CROSS_DOMAIN_DATA返回S_OK,我用断点检查它以确保它被触发,我的IInternetSecurityManager的返回值被忽略.

我已经尝试将pdwZone设置为IInternetSecurityManager的MapUrlToZone中的tagURLZONE.URLZONE_LOCAL_MACHINE以获取我的协议URL,并使用GetSecurityId稍微玩了一下,虽然我不确定我正在做什么并打破其他事情,如允许脚本加载等...似乎没有什么能够允许跨域xmlhttprequest.

任何人都知道如何让这个工作.

.net c# vb.net xmlhttprequest webbrowser-control

8
推荐指数
1
解决办法
1430
查看次数

标签 统计

.net ×1

c# ×1

vb.net ×1

webbrowser-control ×1

xmlhttprequest ×1