【发布时间】:2009-12-10 12:04:18
【问题描述】:
我有一个 WCF 服务,它是从我的 Silverlight 3 应用程序(使用 C#)调用的。为用户填写的列表框中的每个项目调用该服务。当列表框中只包含一项时,一切正常。多个项目有时会导致错误。我进行了一些测试,有时我会收到 2 个项目的错误,有时不会。 4项测试,一次我得到2个结果返回,然后错误。
最糟糕的是,错误只是说“远程服务器已返回错误:未找到”。错误是“CommunicationException”,在 EndMethod(System.IAsyncResult result) 方法中抛出
来电:
foreach (ListBoxItem lbItem in categorySeeds)
{
Helper.Instance.service.ClusterAsync(Helper.Instance.language.value,
((KeyValuePair<string, int>)lbItem.Tag).Value,
Helper.Instance.clusterLevel,
Helper.Instance.clusterDelay,
Helper.Instance.clusterTolerance,
Helper.Instance.clusterMaxCategories,
Helper.Instance.similarity);
}
我记得我曾经通过调用包含我的 WCF 的 AppPool 的“重用”来“解决”问题......所以也许配置有问题?有谁知道我是否可以让 WCF 返回比“NotFound”更有意义的错误消息?
提前致谢, 弗兰克
回答:问题是由多个 WCF-Service-Calls 的并发访问引起的。该服务调用与同义词对象一起使用的 StoredProcedures,每个 SP 更改为由参数给出的值......所以我必须在那里修复它。
【问题讨论】:
标签: c# wcf silverlight