Silverlight 请求、失败和失败提琴手
我有一个发出跨域请求的 Silverlight 应用程序。 clientaccesspolicy.xml 文件存在于我发出请求的服务器上并且配置正确。
我知道它配置正确,因为当我使用该应用程序从我的机器发出请求时,我收到了没有问题的响应。
当大约 300 英里外的公司网络上的第二个人尝试使用从相同 URL 启动的相同应用程序来发出相同请求时,他会收到安全异常。
这是奇怪的部分。我请求他下载 Fiddler,以便我可以看到请求及其响应,从而深入了解问题,但是当他在打开 Fiddler 的情况下运行应用程序时,请求成功。
Chrome 和 IE 中都会发生这种情况。有了 Fiddler,一切都很好。没有它,它就不起作用。
我们已经尝试清除他的历史记录,从缓存中删除 Silverlight 应用程序,我能想到的一切。
该请求是向专用网络(他所在的网络)发出的,我通过与该网络的 VPN 连接发出请求(以防万一出于某种重要原因)。
有什么想法导致这个奇怪的问题吗?
I've got a Silverlight application that makes a cross-domain request. The clientaccesspolicy.xml file exists on the server I am making a request to and is correctly configured.
I know that it is correctly configured because when I use the application to make a request from my machine I receive a response with no problem.
When a second individual on a corporate network about 300 miles away tries to use the same application, launched from the same URL, to make the same request, he instead gets a security exception.
Here's the odd part. I requested that he download Fiddler so that I could see the request and it's response, and thereby gain some insight into the problem, but when he runs the app with Fiddler open, the request succeeds.
This happens in both Chrome and IE. With Fiddler everything is fine. Without it, it doesn't work.
We've tried clearing his history, deleting the Silverlight app from the cache, everything I can think of.
The request is being made to a private network (which he is on), I make the request through a VPN connection to that network (in case for some reason that matters).
Any thoughts as to what's causing this bizarre problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尽管 Fiddler“修复”了该问题,但仍然值得让第二个人从 fiddler 保存成功的会话集的 .saz 文件,然后将它们与您自己的成功会话集进行比较机器。
对差异的分析可能会揭示 fiddler 未就位时的潜在原因。
另一种方法是使用网络协议分析器,例如 Wireshark。消除Fiddler代表的代理可能足以暴露问题,当然这样的工具技术性要高得多。
Despite the fact the Fiddler "fixes" the issue it would still be worth while getting this second individual to save a .saz file from fiddler for the successfull set of sessions and then for you to compare them with a successfull set you have from your own machine.
An analysis of the differences may reveal a potential cause when fiddler is not in place.
Another approach would be to use a network protocol anaylser such as Wireshark. The elimination of the proxy that Fiddler represents may be enough to expose the problem, of course such tool is much more technical.
这篇文章只是为未来的用户列出解决方案。感谢所有提供帮助的人。
实际问题是(正如 EricLaw -MSFT- 建议的那样)客户端的计算机将请求 URL 分区为 Intranet,将 Silverlight 应用程序分区为 Internet,并且不允许我跨区域发出请求。
EricLaw 的直接回复可以在原始问题下的评论中查看。
下面的URL(Eric提供)包含有关拒绝跨区域请求的信息以及解决方案。
msdn.microsoft.com/en-us/library/bb250483 (VS.85).aspx
This post is simply to catalog the solution for future users. Thanks to everyone who helped.
The actual problem turned out to be (just as EricLaw -MSFT- suggested) that the client's machine was zoning the request URL as Intranet and the Silverlight application as Internet, and I am not permitted to make requests across zones.
EricLaw's direct responses may be viewed in the comments under the original question.
The URL below (provided by Eric) contains information regarding the denial of cross-zone request, as well as solutions.
msdn.microsoft.com/en-us/library/bb250483(VS.85).aspx