博客园 - 小白哥哥
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=168824
2018-01-17T02:36:28Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
feed.cnblogs.com
https://www.cnblogs.com/xiaoyaojian/p/6272292.html
ASP.NET Core + Angular 2 Template for Visual Studio - 小白哥哥
多个月以来,我和多个Github上的社区贡献者一起建立支持库、包,我们最终的目的是希望完成这样一个作为起点的模板,也就是基于把Typescript代码和Angular2宿主在ASP.NET Core项目中,这个模板包含一下这些方面: 服务端预加载(预渲染):这样你的UI可以快速的显示,甚至在浏览器下
2017-01-11T00:45:00Z
2017-01-11T00:45:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】多个月以来,我和多个Github上的社区贡献者一起建立支持库、包,我们最终的目的是希望完成这样一个作为起点的模板,也就是基于把Typescript代码和Angular2宿主在ASP.NET Core项目中,这个模板包含一下这些方面: 服务端预加载(预渲染):这样你的UI可以快速的显示,甚至在浏览器下 <a href="https://www.cnblogs.com/xiaoyaojian/p/6272292.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4779553.html
ASP.NET5 中静态文件的各种使用方式 - 小白哥哥
所谓静态文件,包含HTML文件,css文件、图片文件和js文件等,他们是服务器直接读取到客户端的一些资源,在这篇文章中,我们将解释关于ASP.NET5和静态文件的一些内容。 服务端的静态文件 默认情况下,静态文件被存放在项目的wwwroot目录下,而wwwroot的地址被定义在project.json文件中: { "webroot": "wwwroot", ... } 静态文件被...
2015-09-02T14:18:00Z
2015-09-02T14:18:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】所谓静态文件,包含HTML文件,css文件、图片文件和js文件等,他们是服务器直接读取到客户端的一些资源,在这篇文章中,我们将解释关于ASP.NET5和静态文件的一些内容。 服务端的静态文件 默认情况下,静态文件被存放在项目的wwwroot目录下,而wwwroot的地址被定义在project.json文件中: { "webroot": "wwwroot", ... } 静态文件被... <a href="https://www.cnblogs.com/xiaoyaojian/p/4779553.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4776911.html
使用ASP.NET Identity以手机短信实现双重验证 - 小白哥哥
这篇文章将展示怎么使用SMS短信启动双重验证 创建一个ASP.NET 5项目 一开始,使用Visual studio 2015创建一个新的ASP.NET Web应用程序: 在下一步中选择ASP.NET 5 Templates中的Website项目模板,并在右侧面板中确认选择了Individual Authentication: 到这里,项目已经创建,这可能需要几分钟来加载,注意在Visual ...
2015-09-01T13:16:00Z
2015-09-01T13:16:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】这篇文章将展示怎么使用SMS短信启动双重验证 创建一个ASP.NET 5项目 一开始,使用Visual studio 2015创建一个新的ASP.NET Web应用程序: 在下一步中选择ASP.NET 5 Templates中的Website项目模板,并在右侧面板中确认选择了Individual Authentication: 到这里,项目已经创建,这可能需要几分钟来加载,注意在Visual ... <a href="https://www.cnblogs.com/xiaoyaojian/p/4776911.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4768079.html
ASP.NET 5 之 错误诊断和它的中间件们 - 小白哥哥
ASP.NET5包含若干个新的功能来辅助诊断错误,可以在Startup类中简单的为应用程序错误配置不同的处理程序或者显示关于应用程序的附加信息。 配置错误处理页面 在ASP.NET5中,在Startup类中的Configure方法中为每一个请求配置处理管道,你可以非常简单的添加一个简单的错误页面让它只工作在development环境,所有的这些只需要为项目添加一个Microsoft.AspNet....
2015-08-28T14:50:00Z
2015-08-28T14:50:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】ASP.NET5包含若干个新的功能来辅助诊断错误,可以在Startup类中简单的为应用程序错误配置不同的处理程序或者显示关于应用程序的附加信息。 配置错误处理页面 在ASP.NET5中,在Startup类中的Configure方法中为每一个请求配置处理管道,你可以非常简单的添加一个简单的错误页面让它只工作在development环境,所有的这些只需要为项目添加一个Microsoft.AspNet.... <a href="https://www.cnblogs.com/xiaoyaojian/p/4768079.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4763016.html
在ASP.NET 5应用程序中的跨域请求功能详解 - 小白哥哥
浏览器安全阻止了一个网页中向另外一个域提交请求,这个限制叫做同域策咯(same-origin policy),这组织了一个恶意网站从另外一个网站读取敏感数据,但是一些特殊情况下,你需要允许另外一个站点跨域请求你的网站。 跨域资源共享(CORS:Cross Origin Resources Sharing)是一个W3C标准,它允许服务器放宽对同域策咯的限制,使用CORS,服务器可以明确的允许一些跨域...
2015-08-27T05:16:00Z
2015-08-27T05:16:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】浏览器安全阻止了一个网页中向另外一个域提交请求,这个限制叫做同域策咯(same-origin policy),这组织了一个恶意网站从另外一个网站读取敏感数据,但是一些特殊情况下,你需要允许另外一个站点跨域请求你的网站。 跨域资源共享(CORS:Cross Origin Resources Sharing)是一个W3C标准,它允许服务器放宽对同域策咯的限制,使用CORS,服务器可以明确的允许一些跨域... <a href="https://www.cnblogs.com/xiaoyaojian/p/4763016.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4725496.html
使用Donut Caching和Donut Hole Caching在ASP.NET MVC应用中缓存页面 - 小白哥哥
Donut Caching是缓存除了部分内容以外的整个页面的最好的方式,在它出现之前,我们使用“输出缓存”来缓存整个页面。 何时使用Donut Caching 假设你有一个应用程序中有像“主页”这种页面,它除了用户登录的用户名以外总是给用户呈现相同的或者很少变化的内容。这时你可能需要缓存大部分的内容。加入你使用“输出缓存”并应用一个VaryByParam UserID来做缓存处理,那么整个页面会为...
2015-08-12T12:41:00Z
2015-08-12T12:41:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】Donut Caching是缓存除了部分内容以外的整个页面的最好的方式,在它出现之前,我们使用“输出缓存”来缓存整个页面。 何时使用Donut Caching 假设你有一个应用程序中有像“主页”这种页面,它除了用户登录的用户名以外总是给用户呈现相同的或者很少变化的内容。这时你可能需要缓存大部分的内容。加入你使用“输出缓存”并应用一个VaryByParam UserID来做缓存处理,那么整个页面会为... <a href="https://www.cnblogs.com/xiaoyaojian/p/4725496.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4612503.html
RESTful API的十个最佳实践 - 小白哥哥
WebAPI在过去几年里非常的盛行,我们很多以往的技术手段都慢慢的转换为使用WebAPI来开发,因为它的语法简单规范化,以及轻量级等特点,这种方式收到了广泛的推崇。 通常我们使用RESTFul(Representational State Transfer)的设计方式来设计Web api,这通常用来分离API结构了业务逻辑,它使用典型的HTTP方法,诸如GET,POST.DELETE,PUT来和资...
2015-07-01T02:06:00Z
2015-07-01T02:06:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】WebAPI在过去几年里非常的盛行,我们很多以往的技术手段都慢慢的转换为使用WebAPI来开发,因为它的语法简单规范化,以及轻量级等特点,这种方式收到了广泛的推崇。 通常我们使用RESTFul(Representational State Transfer)的设计方式来设计Web api,这通常用来分离API结构了业务逻辑,它使用典型的HTTP方法,诸如GET,POST.DELETE,PUT来和资... <a href="https://www.cnblogs.com/xiaoyaojian/p/4612503.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4611660.html
在ASP.NET MVC5应用程序中快速接入QQ和新浪微博OAuth - 小白哥哥
这篇文章演示如何在你的ASP.NET MVC5应用程序中支持用户使用腾讯QQ和新浪微博的open authentication。 起步 安装Visual studio 2013 higher或者Visual studio express 2013 for web就不再赘述了,点击这里下载。 创建应用程序 打开vs,在Template中选择C#->asp.net web application ,命...
2015-06-30T13:53:00Z
2015-06-30T13:53:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】这篇文章演示如何在你的ASP.NET MVC5应用程序中支持用户使用腾讯QQ和新浪微博的open authentication。 起步 安装Visual studio 2013 higher或者Visual studio express 2013 for web就不再赘述了,点击这里下载。 创建应用程序 打开vs,在Template中选择C#->asp.net web application ,命... <a href="https://www.cnblogs.com/xiaoyaojian/p/4611660.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4603238.html
全面解析C#中的异步编程 - 小白哥哥
当我们处理一些长线的调用时,经常会导致界面停止响应或者IIS线程占用过多等问题,这个时候我们需要更多的是用异步编程来修正这些问题,但是通常都是说起来容易做起来难,诚然异步编程相对于同步编程来说,它是一种完全不同的编程思想,对于习惯了同步编程的开发者来说,在开发过程中难度更大,可控性不强是它的特点。 在.NET Framework5.0种,微软为我们系统了新的语言特性,让我们使用异步编程就像使用同步...
2015-06-26T13:08:00Z
2015-06-26T13:08:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】当我们处理一些长线的调用时,经常会导致界面停止响应或者IIS线程占用过多等问题,这个时候我们需要更多的是用异步编程来修正这些问题,但是通常都是说起来容易做起来难,诚然异步编程相对于同步编程来说,它是一种完全不同的编程思想,对于习惯了同步编程的开发者来说,在开发过程中难度更大,可控性不强是它的特点。 在.NET Framework5.0种,微软为我们系统了新的语言特性,让我们使用异步编程就像使用同步... <a href="https://www.cnblogs.com/xiaoyaojian/p/4603238.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4539795.html
ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用 - 小白哥哥
Grunt和Gulp是Javascript世界里的用来做自动压缩、Typescript编译、代码质量lint工具、css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作。Grunt和Gulp都在Visual studio 2015中得到支持。ASP.NET 项目模板默认使用Gulp。
2015-05-30T00:39:00Z
2015-05-30T00:39:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】Grunt和Gulp是Javascript世界里的用来做自动压缩、Typescript编译、代码质量lint工具、css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作。Grunt和Gulp都在Visual studio 2015中得到支持。ASP.NET 项目模板默认使用Gulp。 <a href="https://www.cnblogs.com/xiaoyaojian/p/4539795.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4199735.html
使用GUI工具高效构建你自己的Nuget包 - 小白哥哥
写这篇文章的原因是我在学习构建nuget包的时候,发现了一个官方推荐的GUI工具,而官方的工具介绍文章已经过时,一些地方和现在最新版本的工具有些差异,所以特意利用假期最后一个下午写下来,希望能帮助更多的人。毕竟,在我看来,从事..NET开发的很多朋友,并不是特别迷恋命令行这种看起来高大上但是实际上并没有高效可言的东西(起码在Windows平台上是这样吧) 下载与安装 您可以导航到这里下载并在线安装...
2015-01-03T09:35:00Z
2015-01-03T09:35:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】写这篇文章的原因是我在学习构建nuget包的时候,发现了一个官方推荐的GUI工具,而官方的工具介绍文章已经过时,一些地方和现在最新版本的工具有些差异,所以特意利用假期最后一个下午写下来,希望能帮助更多的人。毕竟,在我看来,从事..NET开发的很多朋友,并不是特别迷恋命令行这种看起来高大上但是实际上并没有高效可言的东西(起码在Windows平台上是这样吧) 下载与安装 您可以导航到这里下载并在线安装... <a href="https://www.cnblogs.com/xiaoyaojian/p/4199735.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4191903.html
Angular开发者手册重点翻译之指令(一) - 小白哥哥
创建自定义的指令 这个文章将解释什么需要在自己的angularjs应用中创建自己的指令,以及如何实现它。 什么是指令 在高的层面上讲,指令是DOM元素中的标记(例如一个属性,一个节点名,注释或者CSS类),它告诉angularjs编译器去给这个元素附加一个指令的行为或者转换DOM元素和它的子元素。 Angularjs拥有一些内建的指令,像ngBind、ngModel和ngClass。非常类似于你创...
2014-12-29T08:17:00Z
2014-12-29T08:17:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】创建自定义的指令 这个文章将解释什么需要在自己的angularjs应用中创建自己的指令,以及如何实现它。 什么是指令 在高的层面上讲,指令是DOM元素中的标记(例如一个属性,一个节点名,注释或者CSS类),它告诉angularjs编译器去给这个元素附加一个指令的行为或者转换DOM元素和它的子元素。 Angularjs拥有一些内建的指令,像ngBind、ngModel和ngClass。非常类似于你创... <a href="https://www.cnblogs.com/xiaoyaojian/p/4191903.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4150018.html
WCF中操作的分界于调用顺序和会话的释放 - 小白哥哥
操作分界在WCF操作契约的设计中,有时会有一些调用顺序的业务,有的操作不能最先调用,有的操作必须最后调用,比如在从一个箱子里拿出一件东西的时候,必须先要执行打开箱子的操作,而关上箱子的操作应该在一切工作完成之后再被执行。publicinterface Box{ void Open(int boxId...
2014-12-07T14:22:00Z
2014-12-07T14:22:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】操作分界在WCF操作契约的设计中,有时会有一些调用顺序的业务,有的操作不能最先调用,有的操作必须最后调用,比如在从一个箱子里拿出一件东西的时候,必须先要执行打开箱子的操作,而关上箱子的操作应该在一切工作完成之后再被执行。publicinterface Box{ void Open(int boxId... <a href="https://www.cnblogs.com/xiaoyaojian/p/4150018.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4136186.html
WCF中数据契约之已知类型的几种公开方式 - 小白哥哥
WCF中传输的数据不想传统的面向对象编程,它只传递了一些对象的属性,但是自身并不知道自己属于什么对象,所以,他没有子类和父类的概念,因而也就没有Is-a的关系,所以在WCF中,如果想维持这种继承关系,就需要做一些特殊的处理了。 假设有如下定义, namespace KnownTypeExampleInterface{ [DataContract] publicclass Employ...
2014-12-01T14:31:00Z
2014-12-01T14:31:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】WCF中传输的数据不想传统的面向对象编程,它只传递了一些对象的属性,但是自身并不知道自己属于什么对象,所以,他没有子类和父类的概念,因而也就没有Is-a的关系,所以在WCF中,如果想维持这种继承关系,就需要做一些特殊的处理了。 假设有如下定义, namespace KnownTypeExampleInterface{ [DataContract] publicclass Employ... <a href="https://www.cnblogs.com/xiaoyaojian/p/4136186.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/4041728.html
Singal Page App:使用Knockout和RequireJS创建高度模块化的单页应用引擎 - 小白哥哥
开篇扯淡 距离上一篇文章已经有好几个月,也不是没有时间记录点东西,主要是换了新的工作,在一家外资工作,目前的工作内容大多都是前端开发,新接触的东西因为时间原因,大多还不成体系,所以这么长时间什么都没记录下来,也正是因为新的工作内容,才有了今天这篇文章。 这篇文章是我自己的博客项目的前端重写,因为目前ASP.NET API和单页应用的流行,结合目前工作中用到的东西,我决定把我的博客项目的前端...
2014-10-21T14:21:00Z
2014-10-21T14:21:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】开篇扯淡 距离上一篇文章已经有好几个月,也不是没有时间记录点东西,主要是换了新的工作,在一家外资工作,目前的工作内容大多都是前端开发,新接触的东西因为时间原因,大多还不成体系,所以这么长时间什么都没记录下来,也正是因为新的工作内容,才有了今天这篇文章。 这篇文章是我自己的博客项目的前端重写,因为目前ASP.NET API和单页应用的流行,结合目前工作中用到的东西,我决定把我的博客项目的前端... <a href="https://www.cnblogs.com/xiaoyaojian/p/4041728.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/3796024.html
探寻ASP.NET MVC鲜为人知的奥秘(3):寻找多语言的最佳实践方式 - 小白哥哥
如果你的网站需要被世界各地的人访问,访问者会使用各种不同的语言和文字书写习惯,那么创建一个支持多语言的网站就是十分必要的了,这一篇文章就讲述怎么快速合理的创建网站对多语言的支持。接下来通过一个实例来讲述实践方式。首先创建一个ASP.NET MVC5应用程序,命名为Internationalizati...
2014-06-19T02:52:00Z
2014-06-19T02:52:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】如果你的网站需要被世界各地的人访问,访问者会使用各种不同的语言和文字书写习惯,那么创建一个支持多语言的网站就是十分必要的了,这一篇文章就讲述怎么快速合理的创建网站对多语言的支持。接下来通过一个实例来讲述实践方式。首先创建一个ASP.NET MVC5应用程序,命名为Internationalizati... <a href="https://www.cnblogs.com/xiaoyaojian/p/3796024.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/3785890.html
探寻ASP.NET MVC鲜为人知的奥秘(2):与Entity Framework配合,让异步贯穿始终 - 小白哥哥
Why 在应用程序,尤其是互联网应用程序中,性能一直是很多大型网站的困扰,由于Web2.0时代的到来,人们更多的把应用程序从C/S结构迁移到B/S结构,这样会带来客户端轻量,部署、试试方便快捷等优势,但是万事万物都有他的两面性,这样的发展趋势同时也带来了其他方便的不好影响,其中很重要的一项就是系统对服务器的性能要求提高,随着用户量增多和系统功能的增加,服务器性能渐渐成了短板。 这种性能的影响,可以...
2014-06-13T07:14:00Z
2014-06-13T07:14:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】Why 在应用程序,尤其是互联网应用程序中,性能一直是很多大型网站的困扰,由于Web2.0时代的到来,人们更多的把应用程序从C/S结构迁移到B/S结构,这样会带来客户端轻量,部署、试试方便快捷等优势,但是万事万物都有他的两面性,这样的发展趋势同时也带来了其他方便的不好影响,其中很重要的一项就是系统对服务器的性能要求提高,随着用户量增多和系统功能的增加,服务器性能渐渐成了短板。 这种性能的影响,可以... <a href="https://www.cnblogs.com/xiaoyaojian/p/3785890.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/3782060.html
探寻ASP.NET MVC鲜为人知的奥秘(1):对LESS的支持 - 小白哥哥
在ASP.NET MVC3中(从那时开始),我们拥有了对js和css等文件的捆绑(Bundling)和压缩(Minification)的能力,这是ASP.NET性能优化工作的一部分。 想一下很久以前,我们在mvc2的时代,我们使用这样的方式引入js和css文件: Why刚开始没有什么问题,而随着我们项目的越来越大,需要引入的资源文件越来越多的时候,我们就难免会遇到以下这些问题:需要在Product...
2014-06-11T07:22:00Z
2014-06-11T07:22:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】在ASP.NET MVC3中(从那时开始),我们拥有了对js和css等文件的捆绑(Bundling)和压缩(Minification)的能力,这是ASP.NET性能优化工作的一部分。 想一下很久以前,我们在mvc2的时代,我们使用这样的方式引入js和css文件: Why刚开始没有什么问题,而随着我们项目的越来越大,需要引入的资源文件越来越多的时候,我们就难免会遇到以下这些问题:需要在Product... <a href="https://www.cnblogs.com/xiaoyaojian/p/3782060.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/3725983.html
State模式的经典应用场景:订单处理(c#实现) - 小白哥哥
State模式在对象内部状态发生变化的时候,改变自身的行为,这通常是通过切换内部状态对象实现的,对象将自身在各个状态的行为推给了状态对象,从而解开了行为与对象的依赖。 场景描述 在经典的订单处理场景中,订单其不同状态的时候变现了不同的行为,具体内容如下: 假如订单是一个新创建的订单,那么它可以被寄送,也可以被取消; 假如订单已经被寄送,那么它不可以被再次寄送,也不可以被取消; 假如订单已经被...
2014-05-13T09:11:00Z
2014-05-13T09:11:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】State模式在对象内部状态发生变化的时候,改变自身的行为,这通常是通过切换内部状态对象实现的,对象将自身在各个状态的行为推给了状态对象,从而解开了行为与对象的依赖。 场景描述 在经典的订单处理场景中,订单其不同状态的时候变现了不同的行为,具体内容如下: 假如订单是一个新创建的订单,那么它可以被寄送,也可以被取消; 假如订单已经被寄送,那么它不可以被再次寄送,也不可以被取消; 假如订单已经被... <a href="https://www.cnblogs.com/xiaoyaojian/p/3725983.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaoyaojian/p/3723515.html
ASP.NET SignalR 2.0入门指南 - 小白哥哥
介绍SignalR ASP.NET SignalR 是一个为 ASP.NET 开发人员的库,简化了将实时 web 功能添加到应用程序的过程。实时Web功能使服务端代码推送内容到链接可客服端并立即应用成为可能,而不需要服务端等待客户端去请求数据。 SignalR可用于任何你想添加实时Web功能到ASP.NET应用程序的情形,聊天室是一个常用的例子,用户可以刷新Web页面来获得新的数据,或者页面使用一...
2014-05-12T07:37:00Z
2014-05-12T07:37:00Z
小白哥哥
https://www.cnblogs.com/xiaoyaojian/
【摘要】介绍SignalR ASP.NET SignalR 是一个为 ASP.NET 开发人员的库,简化了将实时 web 功能添加到应用程序的过程。实时Web功能使服务端代码推送内容到链接可客服端并立即应用成为可能,而不需要服务端等待客户端去请求数据。 SignalR可用于任何你想添加实时Web功能到ASP.NET应用程序的情形,聊天室是一个常用的例子,用户可以刷新Web页面来获得新的数据,或者页面使用一... <a href="https://www.cnblogs.com/xiaoyaojian/p/3723515.html" target="_blank">阅读全文</a>