在AfterReceiveRequest
方法中,如果我这样做:
MessageBuffer buffer = request.CreateBufferedCopy(int.MaxValue);
Message requestCopy = buffer.CreateMessage();
//handle message stuff here
request = newMessage;
buffer.Close();
以上是否将流的位置留在最后?基本上我要问的是在再次读取请求时创建缓冲副本会导致任何问题吗?
这就是我遇到这种情况的方式,在消息检查器中,我最初没有创建缓冲副本,但后来我遇到了错误消息,向服务发送请求并在线研究后,请求已经被读取,我发现我需要创建消息的副本,我只是想确保这不会导致位置或其他任何问题?
我想通过创建要在消息检查器中使用的副本,我不会两次阅读该消息,该副本被读取一次以进行日志记录,当它被分配给 ref 参数时,当我调用该服务时使用该副本, 正确的?