[发明专利]一种支持WbApi同时实现推送和跨域的解决方法在审

专利信息
申请号: 201711070424.5 申请日: 2017-11-03
公开(公告)号: CN107734053A 公开(公告)日: 2018-02-23
发明(设计)人: 秦娜;陈永 申请(专利权)人: 山东浪潮通软信息科技有限公司
主分类号: H04L29/08 分类号: H04L29/08;H04L29/06;G06F9/54
代理公司: 济南信达专利事务所有限公司37100 代理人: 阚恭勇
地址: 250100 山东省*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 支持 wbapi 同时 实现 推送 解决方法
【说明书】:

技术领域

发明涉及计算机技术,尤其涉及一种支持WbApi同时实现推送和跨域的解决方法。

背景技术

目前,很多软件公司以使用免费的第三方工具SignalR实现消息推送,在同一个项目上,SignalR根据网上给出的步骤配置上,基本就可以实现,消息推送或聊天室。根据现在产品的需求,大多数项目都引入接口这个概念。接口在不同的客户端能够提供所有数据的获取和处理,自然而然的也把消息推送这个功能也交给了接口。

一般WebApi在处理跨域问题的时候会在web.config里面加上跨域支持,这种是很粗暴的加上了跨域支持,再加上推送的时候,就会出现无法推送到客户端的问题,当把跨域删除的话,可以进行消息推送,但是客户端无法访问接口。

发明内容

为了解决以上技术问题,本发明提出了一种支持WbApi同时实现推送和跨域的解决方法。将WebApi的跨域和推送同时实现,满足低版本或高版本的WebApi都能实现消息推送。

为了实现接口实现跨域推送,所采用的技术方案是:

一种支持WbApi同时实现推送和跨域的解决方法,主要包括以下内容:

1.推送模块

WebApi引入第三方工具包“SignalR”。实现Hub服务器端代码,Hub支持向发起请求者(Caller),所有客户端(Clients),特定组(Group)推送消息。

2.客户端和服务器端建立连接

服务器端实现Hub服务器端代码后,给客户端提供了与SignalR连接的方法,客户端主动与服务器端建立连接,建立连接后服务器就可以主动推送消息到客户端页面,这样客户端就不必重新发送请求或使用轮询技术来获取消息。

3.跨域问题

引入SignalR后,WebApi需要删除web.config中的跨域配置,重写HTTP处理程序—DelegatingHandler,将HTTP响应消息的处理委派给自定义的处理程序。解决跨域冲突问题。

具体操作为:

1)首先安装第三方的包

2)添加继承Hub的SignalR连接类

类里面应该应包括:

2.1)连接:客户端连接服务器,服务器将指定的键(现使用客户端用户Id)和值(客户端的ConnectionID)添加到字典中,推送时使用。本发明采用的是调用客户端的cookie保存为键值对,所以也需要web服务器端的功能支持。

2.2)断开连接:断开连接,移除其键值对。

2.3)推送信息:根据接收方特有信息和推送内容向在线的用户推送实时信息。

3)添加启动类

SignalR有着自己的跨域:在.net framework 4.5和.net framework 4.0中有些不同

SignalR在.net framework 4.5中有一个自己的跨域组件Microsoft.Owin.Cors,在启动设置中添加;

SignalR在.net framework 4.0在App_start文件夹下添加“浏览器可以跨域请求SignalR端点”的配置;

4)在控制器中调用连接类中推送消息的方法;

5)最后一步,就是跨域

API在实现跨域时,使用的在web.config中配置;

在App_start文件夹下添加一个配置文件,用来处理当客户端用$.ajax跨域请求数据时在管道中拦截并修改Request。

跨域文件写好后,在global文件中加入配置:

web端处理方式:

1.js引用

作为客户端要接收服务器的推送,首先要引用signalR.js和服务器端的SingalR自动生成的siganlr/hub桥接

2.获取实例,建立连接

3.接下来就是我们的回调函数,当客户端配置好了,就分别把客户端和服务器发布到IIS上测试。

本发明的有益效果是

1.接口跨域机制不会相互影响:无论低版本还是高版本的WebApi均能支持跨域,并且不需要在web.config中配置,以免影响其他功能的实现。

2.客户端方便调用:web端可正常调用接口,加上部分代码即可与服务器端建立连接。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮通软信息科技有限公司,未经山东浪潮通软信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711070424.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top