Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight,WCF和NotFound,噢,天哪_Silverlight_Wcf - Fatal编程技术网

Silverlight,WCF和NotFound,噢,天哪

Silverlight,WCF和NotFound,噢,天哪,silverlight,wcf,Silverlight,Wcf,我知道这是StackOverflow上的一个热门话题,但请容忍我 我们有一个Silverlight 3应用程序与WCF服务对话。偶尔,对WCF服务的调用会返回NotFound异常 我几乎读过SO和Google关于这个主题的每一篇文章,但我不知道出了什么问题。以下是我的一些发现: 异常发生在随机调用和随机时刻。有时一个方法会工作50次,然后突然出错。我觉得这与超时有关,因为在调用调用之前让应用程序空闲一段时间是最容易复制的,但情况并非总是如此——有时应用程序中的第一个调用会失败 我们使用Silv

我知道这是StackOverflow上的一个热门话题,但请容忍我

我们有一个Silverlight 3应用程序与WCF服务对话。偶尔,对WCF服务的调用会返回NotFound异常

我几乎读过SO和Google关于这个主题的每一篇文章,但我不知道出了什么问题。以下是我的一些发现:

  • 异常发生在随机调用和随机时刻。有时一个方法会工作50次,然后突然出错。我觉得这与超时有关,因为在调用调用之前让应用程序空闲一段时间是最容易复制的,但情况并非总是如此——有时应用程序中的第一个调用会失败
  • 我们使用SilverlightFaultBehavior将HTTP错误代码转换为200,并且我们有很多实例,在服务器端抛出异常实际上会冒泡到客户端,因此我可以确认这应该按照预期工作
  • 在异常发生的那一刻,Fiddler没有表现出什么特别的东西。我甚至没有看到有问题的电话。这让我担心,但这可能意味着异常是几分钟前发生的呼叫超时的结果
  • 服务跟踪查看器不显示任何内容
  • 我将VisualStudio连接到Silverlight项目和WCF服务项目,将调试设置为在所有异常(抛出或处理)时中断,并且它不会中断(在Silverlight中告诉我NotFound问题除外)。这使我想到,NotFound可能不是对WCF服务端异常的响应

我真的不知道从这里到哪里去。欢迎您提供任何帮助、任何建议或想法。

以下是您提到的要点的一些想法:

1) 异常发生在随机调用和随机时刻-确保作为方法返回值发送的数据有效。我曾经遇到过这样的情况:发送一个带有一些空属性的对象导致序列化失败。我通过IIS日志/服务跟踪日志发现了这一点

2) 那么,你发现什么有用的东西了吗

3) 我不认为提琴手可以帮助解决这种错误

4) 你确定吗?您是否正确设置了跟踪日志

5) 在这里,你找不到任何可以帮助你的例外情况。从服务器端包装消息/数据或在客户端展开消息/数据时引发实际异常(当您看到“未找到”错误时)


因此,为了汇总数据,确保数据的格式正确(可能对您来说是正确的,但对WCF来说不是正确的,只需使用不同的值玩一会儿),然后再次验证跟踪日志记录。

什么是服务的绑定?它托管在哪里:IIS或VS部署服务器? 我最近看到这个问题,IIS出了点问题。它甚至无法打开*.svc文件。 下面是一个活动计划:

  • 尝试使用http地址打开svc文件,如
  • 如果它打开,请编写控制台应用程序并测试服务
  • 如果可行,编写一个silverlight简单应用程序

  • 我希望这会有所帮助。

    我通过添加

    minFreeMemoryPercentageToActivateService="1" 
    
    到Web.config。默认情况下是这样的

    minFreeMemoryPercentageToActivateService="5"
    

    这有时会导致此错误。

    2)我提到这一点是为了避免人们告诉我NotFound只是服务器端任何异常的结果。我没有从中得到任何有用的东西。3) 我至少希望看到呼叫WCF服务,不是吗?4) 据我所知,是的。我可以在这些日志中看到很多活动,只是没有任何与我的问题相关的活动最让我困扰的是,很难确保数据的格式正确,因为我不知道哪些调用会在失败之前失败,而Fiddler也无法告诉我哪些数据是通过电线发送的。哦,很明显,这是从不知何处开始的。我相信我或我的一些同事已经做了修改,但现在似乎到处都在发生。非常随机的,“Fiddler在告诉通过线路发送的数据方面没有帮助”-这就是为什么我说它在这种情况下没有很大帮助。但它应该是,因为它显示了所有未发生故障的连接的数据。这让我觉得故障发生在连接之前。也许有些DNS查找失败。一般来说,一切正常。Silverlight应用程序可以成功运行100秒,然后突然失败一次,并显示错误消息。我正在用VS dev server进行测试,我希望一旦我部署到IIS,问题就会消失,但即使如此,在开发时这也是一个麻烦。嗨,我知道这是一篇老文章,但我也有同样的问题。你解决了这个问题吗?