我使用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.
任何人都知道如何让这个工作.