У меня очень странная проблема: я разрабатываю бизнес-приложение Silverlight со службами RIA.
У меня есть некоторые DomainServices на стороне сервера, и с одним из них у меня проблема, иногда вызов одного из методов завершается неудачно (на SL-клиенте я получаю исключение "NotFound", и запрос не поступает на сервер (я помещаю точку останова в конструктор службы домена)!
Что делает вещи еще более странными:
- Если вызов не получен от клиента SL, тогда я запускаю Fiddler2, затем второй (или любой последовательный) вызов работает правильно!Если я закрою fiddler, он снова станет нестабильным.
- Если я переименую метод, который я хотел бы вызвать (через рефакторинг), вызову переименованный метод в контексте на стороне клиента SL, а затем каждый раз, когда я делаю вызовэто успешно!
Вот мой метод подозрений:
[Invoke]
public void RegisterTrainingProgramCompletion(bool isCompleted, int result, string sportsManNote)
{
//...
}
Если я переименую этот метод в «RegisterTpCompletion», то он будет работать (unbelievable)!
Служба DomainService помечена некоторыми атрибутами:
[EnableClientAccess()]
[RequiresAuthentication()]
public class NextTrainingProgramDomainService : DomainService
Мне удалось каким-то образом зарегистрировать серверную часть и получить следующее исключение из стека WCF:
Проблема с XML, полученным из сети.Смотрите внутреннее исключение для более подробной информации.в System.ServiceModel.Channels.HttpInput.DecodeBufferedMessage (буфер ArraySegment`1, Stream inputStream) в System.ServiceModel.Channels.HttpInput.ReadBufferedMessage (Stream inputStream) в System.ServiceModel.Channels.HtxtIncoming.ServiceModel.Channels.HttpChannelListener.HttpContextReceived (HttpRequestContext контекст, действие обратного вызова) в System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived (результат HostedHttpRequestAsyncResult) на System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest () в System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest() в System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest (состояние объекта) в System.ServiceModel.AspNetPartialTrustHelpers.PartialTrustInvoke (состояние объекта)IOThreadScheduler.ScheduledOverlapped.numBytes, NativeOverlapped * pOVERLAP)
Так по какой-то неизвестной причине клинт (SL-приложение) не сбрасывает должным образом запрос?Я начинаю беспокоиться: (((*
Мои абоненты (клиент SL) проходят проверку подлинности с помощью пользовательских форм.
Я знаю, вы могли бы сказать, оставьте это как есть, но этосводит меня с ума, я хочу знать, в чем проблема, поэтому я больше не сталкиваюсь с этим.
Спасибо!
Пока, Csabi