架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13889|回复: 1

[ASP.NET] asp.net mvc4.0 安装SignalR(一)

[复制链接]
发表于 2017-7-5 10:37:03 | 显示全部楼层 |阅读模式
根据,项目需要,要用到websocket做数据推送,所以,要用到SignalR,由于,SignalR要求.net 4.5的框架

直接右击项目属性改成.net 4.5即可,重新运行一切正常,暂时木有什么错误。。

nuget安装:

安装完成如下:

程序包管理器控制台主机版本 4.0.0.2323
键入 "get-help NuGet" 可查看所有可用的 NuGet 命令。
PM> Install-Package Microsoft.AspNet.SignalR
正在尝试收集与目标为“.NETFramework,Version=v4.5”的项目“WWW_ITSVSE_COM.Web”有关的包“Microsoft.AspNet.SignalR.2.2.2”的依赖项信息
收集依赖项信息花费时间 24.53 sec
正在尝试解析程序包“Microsoft.AspNet.SignalR.2.2.2”的依赖项,DependencyBehavior 为“Lowest”
现有 packages.config 文件中检测到一个或多个未解析包依赖项约束。必须解析所有依赖项约束以添加或更新包。如果正在更新这些包,则可忽略此消息,如果没有更新这些包,错误可能阻止当前包操作: 'DotNetOpenAuth.Core 4.1.4.12333 约束: Microsoft.Net.Http ', 'Microsoft.AspNet.WebApi.Client 4.0.20710 约束: Microsoft.Net.Http (>= 2.0.20710 && < 2.1.0)', 'Microsoft.AspNet.WebApi.OData 4.0.0 约束: Microsoft.Net.Http (>= 2.0.20710 && < 2.1.0)'
解析依赖项信息花费时间 0 ms
正在解析操作以安装程序包“Microsoft.AspNet.SignalR.2.2.2”
已解析操作以安装程序包“Microsoft.AspNet.SignalR.2.2.2”
从“nuget.org”检索包“Microsoft.AspNet.SignalR 2.2.2”
从“nuget.org”检索包“Microsoft.AspNet.SignalR.Core 2.2.2”
从“nuget.org”检索包“Microsoft.AspNet.SignalR.JS 2.2.2”
从“nuget.org”检索包“Microsoft.AspNet.SignalR.SystemWeb 2.2.2”
从“nuget.org”检索包“Microsoft.Owin 2.1.0”
从“nuget.org”检索包“Microsoft.Owin.Host.SystemWeb 2.1.0”
从“nuget.org”检索包“Microsoft.Owin.Security 2.1.0”
从“nuget.org”检索包“Owin 1.0.0”
  GET https://api.nuget.org/packages/microsoft.aspnet.signalr.systemweb.2.2.2.nupkg
  GET https://api.nuget.org/packages/microsoft.owin.2.1.0.nupkg
  GET https://api.nuget.org/packages/microsoft.aspnet.signalr.core.2.2.2.nupkg
  GET https://api.nuget.org/packages/microsoft.aspnet.signalr.2.2.2.nupkg
  GET https://api.nuget.org/packages/microsoft.aspnet.signalr.js.2.2.2.nupkg
  GET https://api.nuget.org/packages/microsoft.owin.security.2.1.0.nupkg
  GET https://api.nuget.org/packages/microsoft.owin.host.systemweb.2.1.0.nupkg
  GET https://api.nuget.org/packages/owin.1.0.0.nupkg
  OK https://api.nuget.org/packages/microsoft.aspnet.signalr.systemweb.2.2.2.nupkg 150 毫秒
  OK https://api.nuget.org/packages/microsoft.aspnet.signalr.core.2.2.2.nupkg 152 毫秒
正在安装 Microsoft.AspNet.SignalR.SystemWeb 2.2.2。
正在安装 Microsoft.AspNet.SignalR.Core 2.2.2。
  OK https://api.nuget.org/packages/microsoft.owin.2.1.0.nupkg 436 毫秒
正在安装 Microsoft.Owin 2.1.0。
  OK https://api.nuget.org/packages/microsoft.aspnet.signalr.js.2.2.2.nupkg 3705 毫秒
正在安装 Microsoft.AspNet.SignalR.JS 2.2.2。
  OK https://api.nuget.org/packages/microsoft.aspnet.signalr.2.2.2.nupkg 4080 毫秒
正在安装 Microsoft.AspNet.SignalR 2.2.2。
  OK https://api.nuget.org/packages/microsoft.owin.security.2.1.0.nupkg 4080 毫秒
正在安装 Microsoft.Owin.Security 2.1.0。
  OK https://api.nuget.org/packages/microsoft.owin.host.systemweb.2.1.0.nupkg 4294 毫秒
正在安装 Microsoft.Owin.Host.SystemWeb 2.1.0。
正在将程序包“Microsoft.AspNet.SignalR.JS.2.2.2”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.AspNet.SignalR.JS.2.2.2”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.AspNet.SignalR.JS.2.2.2”添加到“packages.config”
已将“Microsoft.AspNet.SignalR.JS 2.2.2”成功安装到 WWW_ITSVSE_COM.Web
  OK https://api.nuget.org/packages/owin.1.0.0.nupkg 6801 毫秒
正在安装 Owin 1.0.0。
正在将程序包“Owin.1.0.0”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Owin.1.0.0”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Owin.1.0.0”添加到“packages.config”
已将“Owin 1.0.0”成功安装到 WWW_ITSVSE_COM.Web
正在将程序包“Microsoft.Owin.2.1.0”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.Owin.2.1.0”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.Owin.2.1.0”添加到“packages.config”
已将“Microsoft.Owin 2.1.0”成功安装到 WWW_ITSVSE_COM.Web
正在将程序包“Microsoft.Owin.Host.SystemWeb.2.1.0”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.Owin.Host.SystemWeb.2.1.0”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.Owin.Host.SystemWeb.2.1.0”添加到“packages.config”
已将“Microsoft.Owin.Host.SystemWeb 2.1.0”成功安装到 WWW_ITSVSE_COM.Web
正在将程序包“Microsoft.Owin.Security.2.1.0”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.Owin.Security.2.1.0”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.Owin.Security.2.1.0”添加到“packages.config”
已将“Microsoft.Owin.Security 2.1.0”成功安装到 WWW_ITSVSE_COM.Web
正在将程序包“Microsoft.AspNet.SignalR.Core.2.2.2”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.AspNet.SignalR.Core.2.2.2”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.AspNet.SignalR.Core.2.2.2”添加到“packages.config”
已将“Microsoft.AspNet.SignalR.Core 2.2.2”成功安装到 WWW_ITSVSE_COM.Web
正在将程序包“Microsoft.AspNet.SignalR.SystemWeb.2.2.2”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.AspNet.SignalR.SystemWeb.2.2.2”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.AspNet.SignalR.SystemWeb.2.2.2”添加到“packages.config”
已将“Microsoft.AspNet.SignalR.SystemWeb 2.2.2”成功安装到 WWW_ITSVSE_COM.Web
正在将程序包“Microsoft.AspNet.SignalR.2.2.2”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.AspNet.SignalR.2.2.2”添加到文件夹“C:\project\company\WWW_ITSVSE_COM\packages”
已将程序包“Microsoft.AspNet.SignalR.2.2.2”添加到“packages.config”
已将“Microsoft.AspNet.SignalR 2.2.2”成功安装到 WWW_ITSVSE_COM.Web
执行 nuget 操作花费时间 18.26 sec
已用时间: 00:00:45.5513744
PM>

既然,安装完成了SignalR,怎么进行注册呢?例如,我们的控制器什么的,然后,我想到了Global.asax.cs 文件,

百度了一下,发现注册命令如下:



发现报错,错误如下:

错误        CS0619        “SignalRRouteExtensions.MapHubs(RouteCollection)”已过时:“Use IAppBuilder.MapSignalR in an Owin Startup class. See http://go.microsoft.com/fwlink/?LinkId=320578 for more details.”        WWW_ITSVSE_COM.Web        C:\project\company\WWW_ITSVSE_COM\WWW_ITSVSE_COM.Web\Global.asax.cs        30        活动的

SignalR的版本,从1.2.2开始,包括2.0以上,都是使用OWIN中间件来启动的。


所以,用nuget安装好signalR2.0后,不要在globalaxac的application_start中启动路由


而应该按要建一个Startup类,来作为启动类。


然后,我们在项目根目录下面,新建了一个Startup类,代码如下:

XXX代表我们的项目名称,然后,重新启动,发现不报错了!!!!

其实,如果,我们不新建Startup类,启动之后会报如下错误,我是之后才知道的。


QQ截图20170705102517.jpg
The following errors occurred while attempting to load the app.
- No assembly found containing an OwinStartupAttribute.
- No assembly found containing a Startup or [AssemblyName].Startup class.
To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config.
To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.





上一篇:【SignalR】入门和介绍
下一篇:mvc4.0 如何使用SignalR(二)
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2017-7-7 14:28:07 | 显示全部楼层
mvc4.0 如何使用SignalR(二)
http://www.itsvse.com/thread-3838-1-1.html
(出处: 架构师)
SignalR进行websocket通讯(三)
http://www.itsvse.com/thread-3845-1-1.html
(出处: 架构师)


码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 21:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表