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

View File

@ -1,19 +1,7 @@
using System;
using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;
using Microsoft.AspNetCore.SignalR;
using Nop.Services.Logging;
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.Domains.Entities;
using Newtonsoft.Json.Linq;
using static LinqToDB.Reflection.Methods.LinqToDB.Insert;
using Mango.Nop.Services;
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}");
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"];
if (!string.IsNullOrEmpty(userName))
@ -56,22 +45,25 @@ namespace Nop.Plugin.Misc.AuctionPlugin.Hubs
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);
}
public async Task ReceiveMessageFromClient(MessageWrapper message)
{
// Log the message type and data
//await _logger.InformationAsync($"AuctionHub.OnConnectedAsync(); Received message of type: {message.MessageType}");
if (sessionService.TryGetSessionItem(Context.GetHttpContext().Session.Id, out var sessionItem)) sessionItem.RequestCount++;
var sessionItem = IncrementRequestCount();
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.WidgetZone);
console.log(typeof sendMessageToServer);
//console.log(typeof sendMessageToServer);
$("#signalRBidButton").on("click", function () {
@ -339,7 +339,7 @@
var revertButtonElement = document.getElementById("signalRRevertBidButton");
revertButtonElement.disabled = true;
sendMessageServer("RevertAuctionBidRequest", bidBoxPageViewModel.ProductToAuctionId);
sendMessageToServer("RevertAuctionBidRequest", bidBoxPageViewModel.ProductToAuctionId);
}