Mam kilka pytań na temat WCF niezawodnego niezawodności sesji:Zrozumienie WCF niezawodny sesja ponawiania zachowanie
Czy WCF ponownej serializacji wiadomość podczas próby ponawiania?
2. Jeśli 1 jest poprawny - czy dzieje się to po usunięciu parametrów komunikatu, czy nie?
3. Jeśli 2 jest poprawne - czy istnieje jakiś sposób identyfikacji wiadomości wysłanej na pewno?
Nie mogłem jeszcze tego wykombinować przez reflektor.
UPD 1: Jestem bardziej zainteresowany wartościami zwracanymi przez serwer. Co się z nimi dzieje?
UPD 2: Kiedy wyświetlane są parametry komunikatu (a dokładniej - odpowiedź serwera)? Czy to się dzieje, gdy odbierane są odpowiednie pakiety? Oto co mam na myśli parametrów rozstrzygających:
at MyNamespace.MyReply.Dispose()
at System.ServiceModel.Dispatcher.MessageRpc.DisposeParametersCore()
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessageCleanup(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
at System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.InputQueue`1.AsyncQueueReader.Set(Item item)
at System.ServiceModel.Channels.InputQueue`1.Dispatch()
at System.ServiceModel.Channels.InputQueueChannel`1.Dispatch()
at System.ServiceModel.Channels.ReliableReplySessionChannel.ProcessSequencedMessage(RequestContext context, String action, WsrmSequencedMessageInfo info)
...stack continues
muszę używać go do dysponowania odpowiedź serwera (mam inny wątek SOF, dlaczego przyszedłem do tego rozwiązania).
UPD 3: Issue Próbuję rozwiązać jest to, że wydaje że moja odpowiedź serwera jest umieszczony na początku, a następnie aplikacja próbuje go serializacji. Mam 99% pewności, że nie używam tego samego obiektu w innym miejscu. Stacktraces są dość brzydkie i duże, aby je tutaj opublikować.
Dziękuję bardzo! Czy to samo dotyczy wartości po stronie serwera i zwracanych? Zaktualizuje moje pytanie. –
Dziękujemy! Właśnie skończyłem to czytać. Postaram się dokładniej zbadać mój problem. –
A co z wyrzucaniem parametrów? Czy to się dzieje, gdy otrzymał potwierdzenie? Nie znalazłem wiele informacji na ten temat :( –