客户端机器上的Silverlight未发送任何WCF请求

7

我的SL应用是商业应用,在数百台机器上运行良好。

SL使用WCF服务,一切正常,但今天我在客户端机器上观察到一些问题,服务器没有收到任何调用。

在点击发送调用的按钮后,出现了一些错误,并且在Fiddler中没有创建有关WCF调用的记录。

错误信息如下:

[HttpWebRequest_WebException_RemoteServer]
Arguments: NotFound
Debugging resource strings are unavailable...

我了解到有人建议使用Fiddler来解决此错误,但是在Fiddler中并没有显示任何调用。

所以问题比我最初想象的要严重。

这个问题时有时无。目前我们找到了一个可行的解决方法,在问题出现后可以修复它,尽管这对我来说毫无意义。

例如,如果我在chrome和mozilla及OOB版本中遇到此错误, 在IE中启动程序可以解决问题,然后chrome、mozilla和OOB也可以正常工作。

事实上,那些通过此解决方法解决问题的人在几天后可能会再次遇到相同的问题,例如一周后,并且没有明显的原因,然后从各种位置启动组合(通常是IE帮助最多)可以帮助解决问题。

感谢任何帮助,我发起了一个赏金任务,因为这是非常棘手的bug,我需要想办法解决它。

更新

奇怪的IE修复场景:

某个时刻,OOB版本进入了一种状态,不发送任何WCF请求到服务器。 (Fiddler看不到它,服务器也不会收到它)。 在IE中启动Web版本,并点击相同的按钮发送WCF请求后,我们可以在IE Web版本中获得所需的结果。

没有更改任何其他东西,只是重新启动之前处于错误状态的OOB版本,使OOB版本正常工作。它没有被重新安装,也没有被更改-什么都没有。

这就是我所说的这个问题的"IE解决方法"。 因此问题是,IE能够启动对OOB版本进行哪些潜在更改?


看起来可能有一个未捕获的异常。 - John Saunders
好的,我通过一些奇怪的IE操作解决了这个问题。我添加了我的域名到受信任的站点中,并删除了将HTTPS添加到受信任站点的要求,因为它不是HTTPS。之后它在IE中开始工作了,但在OOB或Chrome中没有工作。我将其从受信任站点中删除后,它就在所有地方都开始工作了,哈哈。那是什么原因呢? - Valentin Kuzub
有没有安装任何浏览器扩展或病毒扫描器可能会阻止调用? - Jehof
你尝试过删除IE缓存等吗?我曾经遇到过这样的情况,即使强制刷新,浏览器也不会重新下载已经修复的错误。然后我在该机器上清除缓存,新代码就会被下载。这有点像瞎猜,但我曾经遇到过完全相同的情况(和其他情况)。 - BaconSah
Silverlight 应用程序和 Web 服务是否具有相同的来源?不同浏览器(版本)中,跨站点和第三方 Cookie 的处理和默认设置存在差异。 - Emond
显示剩余5条评论
1个回答

1
根据此线程,当客户端未使用Silverlight开发者运行时,会出现消息调试资源不可用
这意味着实际的异常对您(和我们)来说是隐藏的,因此下一步是在具有Silverlight开发者运行时的系统上重现错误。
我找到了这篇文章。 检查您使用的证书(是否使用证书)可能值得一试。 这是OOB应用程序和浏览器不同的事情之一。

是的,实际消息被隐藏了,这是问题的一部分。当然,客户没有开发者运行时,我只在3台机器上看到过(其中有数百台)。但这在这里有点无关紧要,通过描述的症状,我认为那些花了足够长时间与Silverlight共事的人应该能够识别出正在发生的事情。欢迎任何有关IE如何“修复”Silverlight的想法等。 - Valentin Kuzub
我认为你要求的太多了。我做过很多Silverlight开发,但如果你没有实际的异常并且无法重现它,那么很难确定问题所在。可能是任何使IE与其他任何浏览器版本不同的东西。首先,在应用程序中记录实际异常(例如通过将其写入本地存储),然后尝试复制该问题。 - Emond
给了悬赏,但以防万一,这并没有帮助我更接近理解问题,而且这是唯一的答案。 - Valentin Kuzub
谢谢您,但是如果它并没有解决您的问题,您不必给我悬赏。我来这里不是为了积分。一个很大的问题是您无法再现此问题,这使得解决变得极其困难。 - Emond
不给予悬赏意义不大,否则积分只会消失,这甚至更糟。 - Valentin Kuzub
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接