屏蔽微软的SignalR

去年采用ASP.NET MVC开发项目,在谷歌浏览器里调试页面的时候,发现项目在不停地请求数据,链接很奇怪:

http://localhost:63004/654c2dd725bb4401b8fc0c0a7d1312d2/browserLinkSignalR/poll?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAABU73n5jBU0qT4THvITRjcQAAAAACAAAAAAAQZgAAAAEAACAAAABOZWYVL4mAw4MexRxGrAMANR1UsxDwcIjHIrZk3zDc3wAAAAAOgAAAAAIAACAAAADXGKc0LhwbHbjt21xezNlCKvcYewc8i2m5VK6%2BTaWLpTAAAACxsYt%2B%2FX9v7QCyFdjXzz8dz2r%2FlxWEqug6fXibToUbTgvataCyshym0QlmNVLEBl5AAAAA5EPQ4izyyIHASYi5ZCTOmtgN9WbS00h5jTuU6C8EwtHcxQ%2BBlNYfQA3kAVJjemk78q%2FrYn%2BDZNuHge7mxF8Epg%3D%3D&messageId=d-83DA592F-A%2C0%7CB%2C14%7CC%2C0&requestUrl=http%3A%2F%2Flocalhost%2FHNHY.Web%2FZHZS%2FZhanShi&browserName=Chrome&userAgent=Mozilla%2F5.0+(Windows+NT+6.1%3B+WOW64)+AppleWebKit%2F537.36+(KHTML%2C+like+Gecko)+Chrome%2F50.0.2661.102+Safari%2F537.36&tid=8&_=1464090722216

好长的一串东西,几秒就请求一次。因为我们采用了bootstrap的框架,当时我就以为是bootstrap的问题,时间紧,且懒,所以就没有去研究。

后来因为项目在IE下运行,常常会卡死,不得不优化一下,就想看看这个请求到底是咋回事。

一查才知道是微软搞的鬼。名叫 “SignalR”。

这东西干啥用的呢?

据说是我们用Visual Studio开发的时候,常常视图的源代码改了,而浏览器那边不知道,就要重新刷新一次页面,才能看到最新结果。如果我们同时打开了多种浏览器,比如谷歌啦,火狐啦,IE啦,那就好麻烦好麻烦(有多麻烦?),于是微软就贴心地在VS,自动为我们提供了这个东东,让我们能自动看到修改结果(有吗?不用刷新就能看到?)

Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket
框架。它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重新发送请求或使用轮询技术来获取消息。

可访问其官方网站:https://github.com/SignalR/ 获取更多资讯。

我靠!微软的毛病向来就是不分使用对象,将开发者与普通用户混淆,将原本需要开发人员干预的东西掩盖起来,简单易用的外表下面是开发人员最需要理解的原理。这是造成.NET程序员入门快,但提升难,素质偏低的主要原因。

但是这个SignalR,可恶之处原不止于此。它在开发者毫不知情的情况下,强塞给他们,造成许多困扰,且毫无必要。

这个SignalR的请求是怎么来的呢?只有在打开VS情况下才会有,部署在服务器的IIS上,是没有这些奇怪的请求的。那么它的原理是怎么样的呢?

代码里是找不到痕迹的,我搜索了许多遍。

也不是IIS的问题,部署在服务器上是正常的,没有SignalR请求;在我开发机上,项目也在IIS上跑,但不开VS就没事。

其实要禁掉SignalR很容易,在VS上将 “启用浏览器链接”的打勾去掉就行了。

据说,这些自动发出去的请求,是通过module等模块实现的,在输出页面的时候,自动加上了一些JS脚本。然后这些脚本就不停地请求。

那么这些module是怎么来的?我猜测,.netframework是有一些东西可以调用控制的,VS能够调用。

我真不知道怎么形容。微软开发者的脑袋里一定是塞满了大便。“噢,快停下,你们这帮愚蠢的土拨鼠。”

转载于:https://www.cnblogs.com/leftfist/p/6808718.html

屏蔽微软Win10升级助手,有几种方法可以操作。 1.通过更改组策略: - 打开“运行”窗口,输入“gpedit.msc”并点击“确定”。 - 进入“计算机配置”>“管理模板”>“Windows组件”>“Windows更新”>“Windows更新升级助手”。 - 右键点击“Windows更新升级助手”,选择“编辑”,并将其设置为“禁用”。 - 保存更改并关闭窗口。 2.通过更改注册表: - 打开“运行”窗口,输入“regedit”并点击“确定”。 - 导航至以下路径:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate - 右键点击“WindowsUpdate”,选择“新建”>“DWORD (32位)值”。 - 将新建的DWORD值命名为“DisableOSUpgrade”。 - 右键点击“DisableOSUpgrade”,选择“修改”,并将数值数据设置为“1”。 - 保存更改并关闭注册表编辑器。 3.使用服务管理器: - 打开“运行”窗口,输入“services.msc”并点击“确定”。 - 在服务列表中,找到“Windows Update”并双击打开。 - 在“常规”选项卡中,将“启动类型”设置为“禁用”。 - 点击“停止”按钮停止该服务。 - 保存更改并关闭窗口。 请注意,通过任何方法屏蔽Win10升级助手可能会导致您错过系统更新和安全补丁,因此在做出决定之前,请确保您已充分了解相关风险和后果。如果您决定重新启用升级助手,请按照相同的步骤将其设置回启用状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值