IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

SignalR入门之小试身手

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

建立好持久性连接类TestConnection之后,现在为我们的SignalR程序配置持久性连接类以及访问路径。

进入刚刚建立的Startup类,进入Configuration这个方法里来配置:

 using System;
 using System.Threading.Tasks;
 using Microsoft.Owin;
 using Owin;

 [assembly: OwinStartup(typeof(Startup))]

 public class Startup
 {
     public void Configuration(IAppBuilder app)
     {
         app.MapSignalR<TestConnection>("/test");//配置指定持久性连接类,同时映射访问路径后面有用,这里可以进行其他配置,后面再说
     }
 }

配置好后,再来进行客户端调用。

首先,在项目中建一个html的静态网页。

代码如下:

 <!DOCTYPE html>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <title></title>
     <script src="Scripts/jquery-1.10.2.min.js"></script> <!--引入jquery库-->
     <script src="Scripts/jquery.signalR-2.1.2.min.js"></script> <!--这个js是signalR客户端所需要的js,利用 get-package microsoft.aspnet.signalr 安装时会自动生成 -->
     <script type="text/javascript">
         $(function () {
             var connection = $.connection("/test");//根据之前配置好的连接路径来创建连接,/test 就是在Startup类中配置好的持久性连接访问路径
             connection.start(function () {//开始连接,进行开始连接后,在TestConnection类中,会执行OnConnected方法
                 connection.send("你好");//向服务端发送一段数据,那么服务端就会执行OnRecevied方法,同时可以看到从客户端发送过来的数据
             });
             connection.received(function (data) {//接收服务端传过来的数据,注意这个方法只需要写一遍,他会默认不停地监听从服务端传过来的数据,data就是从服务端发送过来的数据,字符串格式的。
                 alert(data);
             });
         });
     </script>
     <meta charset="utf-8" />
 </head>
 <body>

 </body>
 </html>

在TestConnection类中,

Connection.Broadcast(data);这个方法还可以传另外的一个参数,就是发送给所有给客户端但是不包括发送给XX。可以给这个方法加另外的拒绝发送给谁的列表,以connectionId为标准

如 Connection.Broadcast(“你好”,new string[]{connectionId}); 这句话的意思就是把你好发送给所有客户端,但不包括connectionId的这个。正好与Connection.Send 相反,它表示发送给指定的connectionId的客户端。

若需要自己创建的SignalR程序支持跨域或jsonp可以如下设置:

 app.MapSignalR<TestConnection>("/test", new ConnectionConfiguration() { EnableJSONP = true });//在Startup的Configuration方法中配置持久性连接映射路径添加配置

  app.Map("/test", map =>
         {
             map.UseCors(CorsOptions.AllowAll);//允许使用Cors方式
             map.RunSignalR<TestConnection>();
         }

          );

不过上面中的UseCors和CorsOptions这几个成员需要用到microsoft.owin.cors中提供的扩展方法,那么就需要安装相对应的库了

命令如下:

 install-package microsoft.owin.cors

静态页面中这样写:

 $(function () {
            var connection = $.connection("http://127.0.0.2/test");
            connection.start({jsonp:true},function () {
                connection.send("你好");
            });
            connection.received(function (data) {
                console.log(data);
            });
        });

文章永久链接:https://tech.souyunku.com/?p=37064


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(73) 打赏



未经允许不得转载:搜云库技术团队 » SignalR入门之小试身手

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367