This commit is contained in:
Loretta 2024-12-04 19:52:01 +01:00
parent 5ca7ad53f1
commit 7345646373
3 changed files with 25 additions and 29 deletions

View File

@ -1,6 +1,8 @@
$(function () { $(function () {
console.log("signalRJs Starts"); console.log("signalRJs Starts");
window.RequestCount = 1;
window.RequestCount = 0;
// AuctionStatus Enum // AuctionStatus Enum
window.AuctionStatus = Object.freeze({ window.AuctionStatus = Object.freeze({
None: 0, None: 0,
@ -41,12 +43,14 @@
} }
connection.onclose(function () { connection.onclose(function () {
window.RequestCount = 0;
start(); start();
}); });
// Global function to send a message to the server // Global function to send a message to the server
window.sendMessageToServer = function (messageType, senderId, data) { window.sendMessageToServer = function (messageType, senderId, data) {
window.RequestCount++; window.RequestCount++;
var messageWrapper = { var messageWrapper = {
MessageType: messageType, MessageType: messageType,
SenderId: senderId, SenderId: senderId,
@ -58,11 +62,11 @@
connection.invoke("ReceiveMessageFromClient", messageWrapper) connection.invoke("ReceiveMessageFromClient", messageWrapper)
.then(() => { .then(() => {
console.log("Message successfully sent to the server."); console.log("Message successfully sent to the server." + messageType);
}) })
.catch(err => { .catch(err => {
window.RequestCount--; //window.RequestCount--;
console.error("Error sending message to the server:", err); console.error("Error sending message to the server:" + messageType, err);
}); });
}; };

View File

@ -1,19 +1,7 @@
using System; using Microsoft.AspNetCore.SignalR;
using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;
using Nop.Services.Logging; using Nop.Services.Logging;
using Nop.Plugin.Misc.AuctionPlugin.Hubs.Messages; using Nop.Plugin.Misc.AuctionPlugin.Hubs.Messages;
using Nop.Plugin.Misc.AuctionPlugin.Models;
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;
using Nop.Web.Models.Media;
using Nop.Services.Catalog;
using Nop.Plugin.Misc.AuctionPlugin.Services; using Nop.Plugin.Misc.AuctionPlugin.Services;
using Nop.Plugin.Misc.AuctionPlugin.Domains.Entities;
using Newtonsoft.Json.Linq;
using static LinqToDB.Reflection.Methods.LinqToDB.Insert;
using Mango.Nop.Services;
namespace Nop.Plugin.Misc.AuctionPlugin.Hubs namespace Nop.Plugin.Misc.AuctionPlugin.Hubs
{ {
@ -35,7 +23,8 @@ namespace Nop.Plugin.Misc.AuctionPlugin.Hubs
if (httpContext == null) await logger.ErrorAsync($"AuctionHub.OnConnectedAsync(); (httpContext == null); connectionId: {connectionId}"); if (httpContext == null) await logger.ErrorAsync($"AuctionHub.OnConnectedAsync(); (httpContext == null); connectionId: {connectionId}");
else else
{ {
if (sessionService.GetOrCreateSessionItem(httpContext.Session.Id) == null) await logger.ErrorAsync($"AuctionHub.OnConnectedAsync(); (sessionItem == null); connectionId: {connectionId}; sessionId: {httpContext.Session.Id}"); if (sessionService.GetOrCreateSessionItem(httpContext.Session.Id) == null)
await logger.ErrorAsync($"AuctionHub.OnConnectedAsync(); (sessionItem == null); connectionId: {connectionId}; sessionId: {httpContext.Session.Id}");
var userName = httpContext.Request.Query["ConnectionId"]; var userName = httpContext.Request.Query["ConnectionId"];
if (!string.IsNullOrEmpty(userName)) if (!string.IsNullOrEmpty(userName))
@ -56,22 +45,25 @@ namespace Nop.Plugin.Misc.AuctionPlugin.Hubs
public async Task ReceiveRegularMessageFromClient(string message) public async Task ReceiveRegularMessageFromClient(string message)
{ {
//await _logger.InformationAsync($"AuctionHub.OnConnectedAsync(); message: {message}"); IncrementRequestCount();
if (sessionService.TryGetSessionItem(Context.GetHttpContext().Session.Id, out var sessionItem)) sessionItem.RequestCount++;
Console.WriteLine($"Received message: {message}");
await Clients.All.SendAsync("Send", message); await Clients.All.SendAsync("Send", message);
} }
public async Task ReceiveMessageFromClient(MessageWrapper message) public async Task ReceiveMessageFromClient(MessageWrapper message)
{ {
// Log the message type and data var sessionItem = IncrementRequestCount();
//await _logger.InformationAsync($"AuctionHub.OnConnectedAsync(); Received message of type: {message.MessageType}");
if (sessionService.TryGetSessionItem(Context.GetHttpContext().Session.Id, out var sessionItem)) sessionItem.RequestCount++;
await signalRMessageHandler.HandleMessage(message, sessionItem, Context.ConnectionId); await signalRMessageHandler.HandleMessage(message, sessionItem, Context.ConnectionId);
} }
private SessionItem IncrementRequestCount()
{
SessionItem sessionItem = null;
var httpContext = Context.GetHttpContext();
if (httpContext != null && sessionService.TryGetSessionItem(httpContext.Session.Id, out sessionItem)) sessionItem.RequestCount++;
return sessionItem;
}
} }
} }

View File

@ -212,7 +212,7 @@
} }
console.log("bidBoxPageViewModel " + bidBoxPageViewModel); console.log("bidBoxPageViewModel " + bidBoxPageViewModel);
console.log(bidBoxPageViewModel.WidgetZone); console.log(bidBoxPageViewModel.WidgetZone);
console.log(typeof sendMessageToServer); //console.log(typeof sendMessageToServer);
$("#signalRBidButton").on("click", function () { $("#signalRBidButton").on("click", function () {
@ -339,7 +339,7 @@
var revertButtonElement = document.getElementById("signalRRevertBidButton"); var revertButtonElement = document.getElementById("signalRRevertBidButton");
revertButtonElement.disabled = true; revertButtonElement.disabled = true;
sendMessageServer("RevertAuctionBidRequest", bidBoxPageViewModel.ProductToAuctionId); sendMessageToServer("RevertAuctionBidRequest", bidBoxPageViewModel.ProductToAuctionId);
} }