improvements, fixes, etc...
This commit is contained in:
parent
a67bd4f698
commit
1131b5675b
|
|
@ -152,17 +152,19 @@ namespace AyCode.Services.SignalRs
|
||||||
{
|
{
|
||||||
Logger.DebugConditional($"Client SendMessageToServerAsync<TResult>; {nameof(requestId)}: {requestId}; {ConstHelper.NameByValue(TagsName, messageTag)}");
|
Logger.DebugConditional($"Client SendMessageToServerAsync<TResult>; {nameof(requestId)}: {requestId}; {ConstHelper.NameByValue(TagsName, messageTag)}");
|
||||||
|
|
||||||
|
var startTime = DateTime.Now;
|
||||||
|
|
||||||
_responseByRequestId[requestId] = new SignalRRequestModel();
|
_responseByRequestId[requestId] = new SignalRRequestModel();
|
||||||
await SendMessageToServerAsync(messageTag, message, requestId);
|
await SendMessageToServerAsync(messageTag, message, requestId);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (await TaskHelper.WaitToAsync(() => _responseByRequestId[requestId].ResponseByRequestId != null, TransportSendTimeout, 25, 50) &&
|
if (await TaskHelper.WaitToAsync(() => /*HubConnection.State != HubConnectionState.Connected ||*/ _responseByRequestId[requestId].ResponseByRequestId != null, TransportSendTimeout, 25, 50) &&
|
||||||
_responseByRequestId.TryRemove(requestId, out var obj) && obj.ResponseByRequestId is ISignalResponseMessage<string> responseMessage)
|
_responseByRequestId.TryRemove(requestId, out var obj) && obj.ResponseByRequestId is ISignalResponseMessage<string> responseMessage)
|
||||||
{
|
{
|
||||||
if (responseMessage.Status == SignalResponseStatus.Error || responseMessage.ResponseData == null)
|
if (responseMessage.Status == SignalResponseStatus.Error || responseMessage.ResponseData == null)
|
||||||
{
|
{
|
||||||
var errorText = $"Client SendMessageToServerAsync<TResponseData> response error; await; tag: {messageTag}; Status: {responseMessage.Status}; requestId: {requestId};";
|
var errorText = $"Client SendMessageToServerAsync<TResponseData> response error; await; tag: {messageTag}; Status: {responseMessage.Status}; ConnectionState: {HubConnection?.State}; requestId: {requestId}";
|
||||||
|
|
||||||
Logger.Error(errorText);
|
Logger.Error(errorText);
|
||||||
|
|
||||||
|
|
@ -175,10 +177,12 @@ namespace AyCode.Services.SignalRs
|
||||||
|
|
||||||
return responseMessage.ResponseData.JsonTo<TResponse>();
|
return responseMessage.ResponseData.JsonTo<TResponse>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Logger.Error($"Client timeout after: {(DateTime.Now - startTime).TotalSeconds} sec! ConnectionState: {HubConnection?.State}; requestId: {requestId}; tag: {messageTag} [{ConstHelper.NameByValue(TagsName, messageTag)}]");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.Error($"SendMessageToServerAsync; requestId: {requestId}; {ex.Message}; {ConstHelper.NameByValue(TagsName, messageTag)}", ex);
|
Logger.Error($"SendMessageToServerAsync; requestId: {requestId}; ConnectionState: {HubConnection?.State}; {ex.Message}; {ConstHelper.NameByValue(TagsName, messageTag)}", ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
_responseByRequestId.TryRemove(requestId, out _);
|
_responseByRequestId.TryRemove(requestId, out _);
|
||||||
|
|
@ -203,7 +207,7 @@ namespace AyCode.Services.SignalRs
|
||||||
{
|
{
|
||||||
responseData = string.IsNullOrEmpty(responseMessage.ResponseData) ? default : responseMessage.ResponseData.JsonTo<TResponseData?>();
|
responseData = string.IsNullOrEmpty(responseMessage.ResponseData) ? default : responseMessage.ResponseData.JsonTo<TResponseData?>();
|
||||||
}
|
}
|
||||||
else Logger.Error($"Client SendMessageToServerAsync<TResponseData> response error; callback; Status: {responseMessage.Status}; requestId: {requestId}; {ConstHelper.NameByValue(TagsName, messageTag)}");
|
else Logger.Error($"Client SendMessageToServerAsync<TResponseData> response error; callback; Status: {responseMessage.Status}; ConnectionState: {HubConnection?.State}; requestId: {requestId}; {ConstHelper.NameByValue(TagsName, messageTag)}");
|
||||||
|
|
||||||
responseCallback(new SignalResponseMessage<TResponseData?>(messageTag, responseMessage.Status, responseData));
|
responseCallback(new SignalResponseMessage<TResponseData?>(messageTag, responseMessage.Status, responseData));
|
||||||
}));
|
}));
|
||||||
|
|
@ -262,7 +266,7 @@ namespace AyCode.Services.SignalRs
|
||||||
if (requestId.HasValue)
|
if (requestId.HasValue)
|
||||||
_responseByRequestId.TryRemove(requestId.Value, out _);
|
_responseByRequestId.TryRemove(requestId.Value, out _);
|
||||||
|
|
||||||
Logger.Error($"Client OnReceiveMessage; requestId: {requestId}; {ex.Message}; {ConstHelper.NameByValue(TagsName, messageTag)}", ex);
|
Logger.Error($"Client OnReceiveMessage; ConnectionState: {HubConnection?.State}; requestId: {requestId}; {ex.Message}; {ConstHelper.NameByValue(TagsName, messageTag)}", ex);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue