Asp.net 用于侦听事件的aspx页面

Asp.net 用于侦听事件的aspx页面,asp.net,Asp.net,我正在寻找一个逻辑来实现一个显示屏幕,当另一个页面回发发生时显示一些信息 更准确地说,我有一个令牌队列管理系统,柜台工作人员在其中处理令牌(在token.aspx页面中),发生这种情况时,显示屏(display.aspx)应突出显示该令牌 实现这一目标的最有效机制是什么 编辑-使用信号器 应用程序代码中的我的启动类 using Microsoft.Owin; using Owin; [assembly: OwinStartup(typeof(Startup1))] public class

我正在寻找一个逻辑来实现一个显示屏幕,当另一个页面回发发生时显示一些信息

更准确地说,我有一个令牌队列管理系统,柜台工作人员在其中处理令牌(在token.aspx页面中),发生这种情况时,显示屏(display.aspx)应突出显示该令牌

实现这一目标的最有效机制是什么

编辑-使用信号器

应用程序代码中的我的启动类

using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(Startup1))]

public class Startup1
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}
using Microsoft.AspNet.SignalR;

public class MyHub1 : Hub
{
    public void Send( string message)
    {
        Clients.All.addNewMessageToPage( message);
    }
}
using Microsoft.Owin;
using Owin;
.........

[assembly: OwinStartup(typeof(Startup1))]

public class Startup1
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}
using Microsoft.AspNet.SignalR;
...............

public class MyHub1 : Hub
{
    public void Send( string message)
    {
        Clients.All.addNewMessageToPage( message);
    }
}
应用程序代码中的我的集线器类

using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(Startup1))]

public class Startup1
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}
using Microsoft.AspNet.SignalR;

public class MyHub1 : Hub
{
    public void Send( string message)
    {
        Clients.All.addNewMessageToPage( message);
    }
}
using Microsoft.Owin;
using Owin;
.........

[assembly: OwinStartup(typeof(Startup1))]

public class Startup1
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}
using Microsoft.AspNet.SignalR;
...............

public class MyHub1 : Hub
{
    public void Send( string message)
    {
        Clients.All.addNewMessageToPage( message);
    }
}
现在,我的页面用于将数据(send.aspx)发送到集线器


$(函数(){
var chat=$.connection.myHub1;
$.connection.hub.start().done(函数(){
$('#sendmessage')。单击(函数(){//sendmessage是一个按钮
chat.server.send($('#message').val());//message是一个文本字段
});  
});  
});  
没有我的Display.aspx页面

<script src="Scripts/jquery-1.6.4.min.js" ></script>    
    <script src="Scripts/jquery.signalR-2.4.1.min.js"></script>
  <script src="/signalr/
  <script>  
        $(function () {  
            var chat = $.connection.myHub1;
            chat.client.addNewMessageToPage = function (message) {
                alert(message); 
            };  

        });  

    </script>  
<script src="Scripts/jquery-1.6.4.min.js" ></script>    
    <script src="Scripts/jquery.signalR-2.4.1.min.js"></script>
  <script src="/signalr/
  <script>  
        $(function () {  
            var chat = $.connection.myHub1;
            chat.client.addNewMessageToPage = function (message) {
                alert(message); 
            };  
$.connection.hub.start();
        });  

    </script>  

使用信号机

应用程序代码中的我的启动类

using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(Startup1))]

public class Startup1
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}
using Microsoft.AspNet.SignalR;

public class MyHub1 : Hub
{
    public void Send( string message)
    {
        Clients.All.addNewMessageToPage( message);
    }
}
using Microsoft.Owin;
using Owin;
.........

[assembly: OwinStartup(typeof(Startup1))]

public class Startup1
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}
using Microsoft.AspNet.SignalR;
...............

public class MyHub1 : Hub
{
    public void Send( string message)
    {
        Clients.All.addNewMessageToPage( message);
    }
}
应用程序代码中的我的集线器类

using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(Startup1))]

public class Startup1
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}
using Microsoft.AspNet.SignalR;

public class MyHub1 : Hub
{
    public void Send( string message)
    {
        Clients.All.addNewMessageToPage( message);
    }
}
using Microsoft.Owin;
using Owin;
.........

[assembly: OwinStartup(typeof(Startup1))]

public class Startup1
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}
using Microsoft.AspNet.SignalR;
...............

public class MyHub1 : Hub
{
    public void Send( string message)
    {
        Clients.All.addNewMessageToPage( message);
    }
}
现在,我的页面用于将数据(send.aspx)发送到集线器


$(函数(){
var chat=$.connection.myHub1;
$.connection.hub.start().done(函数(){
$('#sendmessage')。单击(函数(){//sendmessage是一个按钮
chat.server.send($('#message').val());//message是一个文本字段
});  
});  
});  
现在我的Display.aspx页面

<script src="Scripts/jquery-1.6.4.min.js" ></script>    
    <script src="Scripts/jquery.signalR-2.4.1.min.js"></script>
  <script src="/signalr/
  <script>  
        $(function () {  
            var chat = $.connection.myHub1;
            chat.client.addNewMessageToPage = function (message) {
                alert(message); 
            };  

        });  

    </script>  
<script src="Scripts/jquery-1.6.4.min.js" ></script>    
    <script src="Scripts/jquery.signalR-2.4.1.min.js"></script>
  <script src="/signalr/
  <script>  
        $(function () {  
            var chat = $.connection.myHub1;
            chat.client.addNewMessageToPage = function (message) {
                alert(message); 
            };  
$.connection.hub.start();
        });  

    </script>  


您的意思是,当用户当前打开了一个页面,并且后端服务器上发生了与该页面无关的事情时,用户当前打开的页面需要接收某种通知吗?如果是这样,那么“web套接字”很可能就是您正在寻找的技术,在这种技术中,服务器可以将信息“推送”到客户端。如果不能做到这一点,页面还可能有JavaScript代码,定期轮询服务器端点以获取更新信息。效率较低,但通常适用于合理的轮询间隔。@David是的。页面display.aspx将显示在公共区域的电视屏幕上。每当柜台工作人员处理令牌(比如在token.aspx页面中单击一个按钮)时,display.aspx页面应突出显示或调用该令牌(调用display.aspx页面的方法),根据David的评论,Signal是websocket技术的标准ASP.NET实现。对于您的场景,这可能是一个不错的选择。@ADyson谢谢。我曾试图在我的项目中实现这一点,但没有成功。我没有得到任何有这种选择的例子。我将在编辑中发布示例代码。你能帮个忙吗看起来你成功了,太好了。但是如果你找到了解决方案,你应该把它放在下面的答案部分,然后人们可以投票,它会显示在搜索结果中,其他人可能有类似的问题。解决方案不是原始问题的一部分!谢谢