亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

一步一步學習SignalR進行實時通信_9_托管在非Web應用程序

2019-11-14 14:22:32
字體:
來源:轉載
供稿:網友
一步一步學習SignalR進行實時通信/_9_托管在非Web應用程序

  • 一步一步學習SignalR進行實時通信_9_托管在非Web應用程序
    • 前言
    • 部署在控制臺應用程序
      • 安裝自托管包
      • 安裝跨域包
      • winform客戶端
        • 設計界面
        • 連接
        • 完整實現效果
      • windows服務
        • 創建服務
        • 安裝服務
        • 啟動服務
        • 連接服務
    • 結束語
    • 源碼下載
    • 參考文獻

前言

本章我們將學習將signalr服務托管在非web應用程序。之前我們一直是通過IIS部署signalR服務,今天我們的服務將要完全擺脫IIS的約束。在某種情況下可能無法用IIS部署服務,或者我們并不需要重量級的IIS進行部署,直接部署在控制臺應用程序中更加方便簡單,獲取還有其他各種各樣的原因。
由于有owin提供的解耦功能我們可以不在修改代碼的情況下部署到其他地方。只需要安裝一個包:Microsoft.Owin.Host .HttpListener即可。(之前在web上部署的時候我們安裝的是Microsoft.Owin.Host.SystemWeb
這個包可以提供自托管的功能,打開一個端口等待http請求。
接下來我們就是先將signalR部署在控制臺程序上,以及windows服務中。

部署在控制臺應用程序

安裝自托管包

首先我們先在nuget命令行中輸入install-package Microsoft.aspNet.SignalR.SelfHost進行安裝
安裝好后可以發現引用大致如圖所示

最主要的差別是這兩處

安裝完后再packages文件夾中會有SelfHost文件夾里面有個readme.txt文件,有簡單使用說明,如下圖所示:


其中包括了如何配置和啟動。

安裝跨域包

根據要請我們新建一個Startup文件,在里面輸入代碼,同時我們的控制臺僅僅是服務,想要其他程序能訪問到我們我們必須要開啟跨域,通過命令Install-Package Microsoft.Owin.Cors進行安裝即可,然后我們就做相應的配置。

我們的相關配置已經完成,和在web部署幾乎一模一樣,處理安裝的組建略有差別。
接下來我們創建一個Hub。

服務端有一個計算加法的服務
服務端就搭建好了,現在我們需要創建一個客戶端,客戶端我也不再用傳統web客戶端,我們創建一個winform應用程序(WPF類似)

winform客戶端

首先需要安裝signalr .net client,之前在web應用程序作為客戶端安裝的是javascript client

設計界面

首先搭建一個界面如圖:

點擊連接時創建調用代理并連接

連接


連接成功彈出消息框

完整實現效果

windows服務

windows服務和普通的程序不一樣,它有不同的生命周期。windows服務可以繼承自System.ServicePRocess.ServiceBase。
創建一個新的項目選擇windows service,如圖所示

創建服務

  1. public partial class SignalRService : ServiceBase
  2. {
  3. private IDisposable _webApp;
  4. public SignalRService()
  5. {
  6. InitializeComponent();
  7. }
  8. protected override void OnStart(string[] args)
  9. {
  10. var address = (args != null && args.Length > 0) ? args[0] :
  11. "http://localhost:22222";
  12. _webApp = WebApp.Start<Startup>(address);
  13. }
  14. protected override void OnStop()
  15. {
  16. _webApp.Dispose();
  17. }
  18. }

在OnStart中開始服務,在OnStop釋放
在Progarm.cs程序入口中啟動服務

  1. static void Main()
  2. {
  3. ServiceBase[] ServicesToRun;
  4. ServicesToRun = new ServiceBase[]
  5. {
  6. new SignalRService()
  7. };
  8. ServiceBase.Run(ServicesToRun);
  9. }

安裝服務

windows服務不能通過VS啟動,需要在系統中安裝。

在服務界面右擊選擇Add Installe

會生成一個安裝文件

serviceProcessInstaller1屬性中Account選擇憑證類型

serviceInstaller1中serviceName是windows服務中的名稱
starttype是啟動類型,可選擇自動或手動啟動
description是服務的描述
打開vs2013開發人員命令提示符(需要管理員身份進入操作)

打開后進入程序目錄,輸入installutil [exeName]命令[exeName]包括后綴

輸入installutil [exeName] /u進行卸載
輸入命令后回車會彈出使用的用戶憑證

或者在安裝命令后加上參數/username和/passWord
如:installutil signalrservice.exe /username=jake /password=1234
若用戶憑證有誤則會回滾安裝,因此不用擔心會出什么問題。


但是試了好幾次一直有誤,網上查了下用戶名好像需要輸入全稱。為了簡單起見直接用本地系統登錄


重新在輸入命令(無需用戶密碼)即可完成安裝

安裝完成在服務中即可找到,

啟動服務


輸入參數點擊啟動即可

連接服務

安裝好后啟動客戶端測試下,此服務???hub我從控制臺程序復制過去,所以一模一樣

注意修改端口

結束語

今天通過簡單的2個小例子講解了如何將signalr部署在非web環境中,以及.net client如何連接signalr服務

源碼下載

非web signalR服務
客戶端

本文發布至作業部落

參考文獻

SignalR Programming in Microsoft asp.net pdf 下載


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲自拍小视频| 欧美伦理91i| 亚洲国产小视频在线观看| 国产国语videosex另类| 精品久久久久国产| 日韩精品免费电影| 欧美精品久久久久久久久久| 亚洲一区久久久| 亚洲欧美福利视频| 69久久夜色精品国产69| 亚洲欧美一区二区三区在线| 国内自拍欧美激情| 精品女同一区二区三区在线播放| 日韩精品一区二区三区第95| 中文字幕在线看视频国产欧美| 亚洲国产毛片完整版| 午夜精品久久久久久久99热| 欧美床上激情在线观看| 色99之美女主播在线视频| 亚洲日韩欧美视频一区| 日韩精品在线观看一区二区| 色老头一区二区三区在线观看| 日韩精品一二三四区| 欧美性猛交xxxx乱大交极品| 欧美激情一区二区三级高清视频| 色婷婷av一区二区三区久久| 国模私拍视频一区| 欧美大荫蒂xxx| 国产精品十八以下禁看| 亚洲国产精品人人爽夜夜爽| 国产男女猛烈无遮挡91| 欧美日韩一区二区免费视频| 91久久夜色精品国产网站| 亚洲韩国青草视频| 国产成人jvid在线播放| 欧美日韩国产中文精品字幕自在自线| 国产精品美女主播在线观看纯欲| 欧美日韩裸体免费视频| 国产精品久久久久久久久久久久久| 久久九九亚洲综合| 国产精品综合久久久| 日本19禁啪啪免费观看www| 久久久女女女女999久久| 欧美福利小视频| 亚洲欧美日韩国产中文专区| 黑人巨大精品欧美一区二区免费| 性欧美在线看片a免费观看| 精品国产精品自拍| 激情成人中文字幕| 国产91亚洲精品| 亚洲第一网站男人都懂| 欧美电影电视剧在线观看| 欧美午夜激情在线| 欧美成人sm免费视频| 91精品国产自产在线观看永久| 色偷偷88888欧美精品久久久| 乱亲女秽乱长久久久| 国产精品久久久久久久久久新婚| 国产精品久久久久久久一区探花| 伊是香蕉大人久久| 欧美xxxx做受欧美| 正在播放国产一区| 中文日韩在线观看| 欧美激情第一页xxx| 18性欧美xxxⅹ性满足| 国产成人精品av在线| 国产午夜精品理论片a级探花| 国产精品亚洲精品| 正在播放欧美视频| 国产香蕉精品视频一区二区三区| 日韩一中文字幕| 日本亚洲欧美成人| 91超碰中文字幕久久精品| 动漫精品一区二区| 亚洲精品mp4| 久久欧美在线电影| 秋霞午夜一区二区| www高清在线视频日韩欧美| 久久精品久久久久久国产 免费| 亚洲精品福利在线观看| 91久久中文字幕| 97人洗澡人人免费公开视频碰碰碰| 国产精品精品国产| 啪一啪鲁一鲁2019在线视频| 久久国产精品偷| 国产日本欧美视频| 欧美第一淫aaasss性| 亚洲va欧美va国产综合久久| 亚洲精品一区在线观看香蕉| 久久视频在线观看免费| 成人免费视频在线观看超级碰| 亚洲日本中文字幕免费在线不卡| 久久久久久999| 午夜精品免费视频| 国内精品视频一区| 2019国产精品自在线拍国产不卡| 久久视频这里只有精品| 久久免费国产视频| 亚洲国产欧美一区二区三区同亚洲| 国产成人一区二区三区电影| 色老头一区二区三区| 成人免费网站在线| 视频在线观看99| 国产精品高清免费在线观看| 中文字幕一区日韩电影| 韩国精品美女www爽爽爽视频| 97超级碰在线看视频免费在线看| 欧美一乱一性一交一视频| 91久久精品日日躁夜夜躁国产| 97成人超碰免| 欧美电影免费观看电视剧大全| 色妞色视频一区二区三区四区| 91老司机在线| 动漫精品一区二区| 中文字幕精品网| 亚洲国产精品久久91精品| 在线电影av不卡网址| 中文字幕亚洲专区| 国产美女直播视频一区| 中文日韩电影网站| 久久人体大胆视频| 色妞在线综合亚洲欧美| 一区二区av在线| 国产a∨精品一区二区三区不卡| 国产精品久久久久久久久| 性欧美暴力猛交69hd| 亚洲成成品网站| 欧美一级黄色网| 精品久久久香蕉免费精品视频| 亚洲欧洲日产国码av系列天堂| xvideos国产精品| 亚洲加勒比久久88色综合| 色老头一区二区三区在线观看| 97人人爽人人喊人人模波多| 亚洲在线免费看| 亚洲tv在线观看| 欧美久久精品午夜青青大伊人| 欧美激情精品久久久久久大尺度| 国产精品久久久久久婷婷天堂| 午夜精品一区二区三区av| 久久福利视频网| 久久精品一区中文字幕| 亚洲日韩中文字幕在线播放| 久久精品视频导航| 亚洲欧美日韩精品久久| 日韩在线高清视频| 久久这里只有精品视频首页| 久久成人精品一区二区三区| 欧美国产中文字幕| 久久久国产影院| 久久久久亚洲精品| 国产美女精品视频免费观看| 欧美精品电影免费在线观看| 日韩精品久久久久久福利| 黄色成人在线播放| 国产精品一区专区欧美日韩| 91免费国产视频| 久久精品国产久精国产思思| 国产精品美女www爽爽爽视频| 亚洲精品久久久久久下一站| 全球成人中文在线| 日韩精品在线视频美女| 国产亚洲人成网站在线观看| 亚洲视屏在线播放|