Служба Silverlight 3 WCF `CommunicationException` Сервер вернул ошибку: NotFound
У меня есть приложение Silverlight 3, которое 95% времени успешно запрашивает данные из службы WCF (в том же веб-приложении) и отображает их.
Такое случается нечасто, обычно, если я быстро обращаюсь к службе несколько раз, но иногда это происходит по одному-единственному запросу.
Время от времени, если я запрашиваю много транзакций за короткий период, я получаю одно из двух исключений, они оба происходят вReference.cs
файл вEndMyMethod(System.IAsyncResult result)
.
Есть несколько методов, и исключения встречаются на любом количестве из них. Первый, этоTimeoutException()
что я понимаю и это имеет смысл, второй, который я совершенно не понимаю, это "CommunicationException()
не был обработан кодом пользователя: удаленный сервер возвратил ошибку: NotFound. "
Я положилtry..catch
блоки как вокруг.MyMethodAsync()
и в обработчике дляMyMethodCompleted
оба безрезультатно, так как исключение происходит в сгенерированномReference.cs
файл.
Любая помощь очень ценится.
Обновить
Reference.cs
- генерируется «Добавить ссылку на сервис»
public System.IAsyncResult BeginTogglePicked(string ID, string toggle, System.AsyncCallback callback, object asyncState)
{
object[] _args = new object[2];
_args[0] = ID;
_args[1] = toggle;
System.IAsyncResult _result = base.BeginInvoke("TogglePicked", _args, callback, asyncState);
return _result;
}
public void EndTogglePicked(System.IAsyncResult result)
{
object[] _args = new object[0];
// This is the line where the Exception is Thrown
base.EndInvoke("TogglePicked", _args, result);
}
Телефонный код -pickedIDs
это список строк, иuserIDSelecting
является строкой, определенной в верхней части процедуры. Обработчик событийmdc_TogglePIckedCompleted
пуст в данный момент.
MapDataClient mdc = new MyDataClient();
mdc.TogglePickedCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(mdc_TogglePickedCompleted);
foreach (string id in pickedIDs)
{
mdc.TogglePickedAsync(id, userIDSelecting, mdc);
}
Обновление 2
Это «InnerException» от CommunicationException:System.Net.WebException: The remote server returned an error: NotFound.
Не уверен, что это будет более полезным, поскольку он не дает никаких дополнительных подробностей. Как я уже сказал, это происходит периодически, не каждый раз, когда я вызываю метод обслуживания. Я также хотел бы отметить, что один и тот же вызов будет работать иногда, а не другие, я начинаю думать, что эта проблема связана с тем, что IIS не отвечает на мои запросы на обслуживание, мысли?
Обновление 3
Когда я имею в виду временное, я имею в виду истинного интримитента. Это может произойти только один раз в сеансе пользователя, и это может произойти только в одном из пятидесяти сеансов. Это не все или ничего ничего. Вызывающее приложение размещается на том же веб-сайте, что и служба WCF, поэтому я не думаю, что проблема заключается в clintaccesspolicy.xml, но я могу ошибаться.