Tengo varias preguntas acerca de la fiabilidad de sesiones de WCF fiable:entendimiento WCF sesión fiable el comportamiento de reintento
¿Se WCF re-serializar un mensaje durante un intento de reintento?
2. Si 1 es correcto, ¿ocurre después de eliminar los parámetros del mensaje o no?
3. Si 2 es correcto, ¿hay alguna forma de identificar que el mensaje se envió con certeza?
Aún no lo podía descubrir mediante un reflector.
UPD 1: Estoy más interesado en los valores de retorno del servidor. ¿Qué pasa con ellos?
UPD 2: ¿Cuándo se eliminan los parámetros del mensaje (para ser precisos, respuesta del servidor)? ¿Sucede cuando se reciben acks apropiados? Esto es lo que quiero decir con parámetros de disposición:
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
que hay que usarla para disponer respuesta del servidor (no tengo otro hilo FOS sobre eso vine a esta solución).
UPD 3: Edición Estoy tratando de resolver es que parece que mi respuesta del servidor es primeros intentos de aplicación dispuestos y luego a serializar. Estoy 99% seguro de que no volveré a usar el mismo objeto en ningún otro lado. StackTraces es bastante feo y grande para publicar aquí.
¡Muchas gracias! ¿Se aplica lo mismo a los valores del servidor y de retorno? Actualizaré mi pregunta. –
¡Gracias! Acabo de terminar de leerlo. Intentaré investigar mi problema más a fondo. –
¿Y qué pasa con la eliminación de parámetros? ¿Sucede cuando se recibió ack? No encontré ninguna información al respecto :( –