您可以编写一个自定义的MessageEncoder,在服务端使用它,并在其WriteMessage方法中检查编码消息的大小。
遵循本指南并以如下方式重写方法:
public override ArraySegment<byte> WriteMessage(Message message, int maxMessageSize, BufferManager bufferManager, int messageOffset)
{
var result = this.text.WriteMessage(message, maxMessageSize, bufferManager, messageOffset);
// Encoded message check logic.
Console.WriteLine("Message sent. Length=" + result.Count);
return result;
}
public override void WriteMessage(Message message, Stream stream)
{
var position = stream.Position;
this.text.WriteMessage(message, stream);
// Encoded message check logic.
Console.WriteLine("Message sent. Length=" + (stream.Position - position));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4179 次 |
| 最近记录: |