【发布时间】:2021-02-25 10:26:35
【问题描述】:
我遇到了一个问题,我的 websocket 连接在本地按预期运行,但在部署到 azure 应用服务时却没有。 (.NET Core 3.0)
我能够在本地接收任何大小的消息,但部署到 azure 时消息的上限为 4088 字节。
代码示例:
await Receive(socket, async (result, buffer) =>
{
Console.WriteLine("Message size: " + result.Count);
message = Encoding.UTF8.GetString(buffer, 0, result.Count);
});
private async Task Receive(WebSocket socket, Action<WebSocketReceiveResult, byte[]> handleMessage)
{
try
{
var buffer = new byte[1024 * 16];
while (socket.State == WebSocketState.Open)
{
WebSocketReceiveResult result = null;
using (var cts = new CancellationTokenSource(1200000))
{
result = await socket.ReceiveAsync(
buffer: new ArraySegment<byte>(buffer),
cancellationToken: cts.Token
);
}
handleMessage(result, buffer);
}
}
catch (Exception ex)
{
Log.Error(ex, "Exception occured when receiving message async");
}
}
应用服务中是否有可以更改的限制?
我已经尝试设置一个远程客户端,将消息发送到 azure 应用服务和我的本地环境。这只是 azure 应用服务的问题。
【问题讨论】:
标签: c# .net azure-web-app-service asp.net-core-3.0