Browse by Tags

【茶包射手日記】SignalR WebSocket Crash Mac Safari二部曲
上回處理過 WebSocket導致Mac Safari當機 ,修復後狀況明顯改善,但有時仍重新載入網頁時Safari仍會當掉,而錯誤訊息模糊許多: Process:         com.apple.WebKit.WebContent [1527] Path:            /System/Library...
Posted 06 May 2014 09:30 PMJeffrey | with no comments 4,651
Filed under:
【茶包射手日記】SignalR導致Mac Safari Crash
測試發現用Mac Safari連上專案網站,在某些狀況下會連續Crash: 接著網頁因重複發生問題宣告停用: 在Crash報告中看到WebSocketChannel、ScoketStreamHandleBase等字眼,該網頁唯一會涉及WebSocket的只有SignalR,改用Chrome測試,找到SignalR在特定情境建立連線出錯的證據: 由HTTP 500錯誤訊息追進程式,發現PushHub的public override Task OnConnected()有Bug會throw Exception...
Posted 16 April 2014 09:33 PMJeffrey | with no comments 3,949
Filed under:
TIPS-在.NET4 ASP.NET MVC專案安裝SignalR
目標平台為Windows Server 2003,ASP.NET MVC專案只能選擇.NET 4.0,在NuGet用關鍵字signalr找到程式包,安裝時卻出現以下錯誤: Could not install package 'Microsoft.Owin.Security 2.0.2'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.0'...
Posted 11 March 2014 07:48 AMJeffrey | 1 comment(s) 6,998
Filed under: ,
HTML5上傳作業進度條-SignalR進階版
【前情提要】 利用File API與XHR2 onprogress事件,我們成功做出 檔案上傳進度條 。但我在工作上常遇到另一種情境 -- 內部系統的上傳轉檔作業。營運資料檔案一般不大,加上在Intranet裡傳輸,上傳只在彈指間,Server端解析資料、塞入資料庫才是重頭戲,常得耗上幾十秒到幾分鐘。這種狀況下,用XHR2做進度條的意義不大,咻! 一秒不到就從0%到100%,但上傳資料何時能處理完只有天知道? 使用者終究又陷入無法得知系統還在跑或者已經當掉的焦慮。我想起了"SignalR"...
SignalR傳輸效能評測-雙向傳輸
上回測過SignalR四種傳輸方式的Server到Client段 效能表現 ,確認Long Polling因不斷重發Request效率稍差,其餘兩種方式效能則相去不遠,WebSocket並無格外突出。先前 剖析 中,我們知道WebSocket最大特色在於"支援雙向傳輸",這回我們來個Server到Client、Client到Server傳輸各半的模擬情境。(WebSocket都做球給你了,好好表現囉~) 規劃以下測試情境: 每次Server送一個Runner到Client後(經由addRunner...
Posted 05 December 2013 05:30 AMJeffrey | 4 comment(s) 9,276
Filed under:
SignalR傳輸效能評測-單向傳輸
上篇文章 剖析了SignalR的四種傳輸方式: Forever Frame、Long Polling、Server Sent Event及WebSocket,延伸出另一個議題,這四種傳輸方式效率如何? 理論上WebSocket Overhead最少且支援雙向傳送,很有HTML5傳輸霸主之相,但我期待眼見為憑。 我設計了以下的實驗,先測Server端傳至Client端的效率,沿用前文的MarathronHub,以亂數模擬1000筆Runner資料,經由BatchTest()方法一骨腦把1000筆資料拋至Client端...
Posted 04 December 2013 06:59 AMJeffrey | 1 comment(s) 7,419
Filed under:
【打破砂鍋系列】SignalR傳輸方式剖析
能依瀏覽器支援能力自動尋找最適合的通訊方式,是SignalR最迷人之處。SignalR 2.0共支援Forever Frame、Long Polling、Server Sent Event、WebSocket四種通訊方式,在 Introduction to SignalR 的Transports and fallbacks一節有詳細說明,但對茶包射手來說,沒有追究到每一個動作所對應的封包,就不算徹底解開謎團,午夜夢迴之際總要平添幾許遺憾... (謎之聲: 有那麼嚴重嗎?) 於是, 為賦新詞強說愁...
Posted 03 December 2013 06:28 AMJeffrey | 7 comment(s) 24,896
Filed under:
實測SignalR自動重連特性
在實做 SignalR遠端遙控 的過程有個疑問: 若在連線過程網站重啟或因故障中斷服務,SignalR是否會在服務恢復後自動重建連線? Client需不需要特殊寫法配合? 依據網路上的討論,SignalR Client本身已內建重連機制,連線中斷後會自動重連,理論上不需要額外費心寫Code處理。不過我還是決定實測一下,確保程式行為如同預期比較安心。 將 前次 遠端遙控用的CommHub加以簡化,在Connect/Reconnect事件中觸發Client端的ShowMessage()方法顯示訊息,另外增加一個HeartBeat...
Posted 24 July 2012 06:18 AMJeffrey | with no comments 11,280
Filed under:
SignalR的跨網域支援
在 SignalR JS Client Hubs 文件Cross Domain Support一節看到SignalR可利用JSONP實現跨網域呼叫。簡單的說,就是將SignalR Hub架在A網站,卻從B網站的網頁執行$.connection.hub.start()連上A網站的SignalR接收資料或傳送指令。乍看稀鬆平常,但網站寫多一點的老鳥都知道這個副本裡有個XHR跨網站存取的小王要解決,所幸SignalR已內建跨網域支援,所以我們就來寫幾行程式玩看看。 以下是一個獨立網頁,目前在扮演先前 利用SignalR實現遠端程式遙控功能...
Posted 11 July 2012 09:33 PMJeffrey | 1 comment(s) 9,002
Filed under:
利用SignalR實現遠端程式遙控功能
這篇文章算SignalR的進階應用,還不知道SignalR是啥的朋友,可先參考91與小朱的介紹文再繼續閱讀: [.NET]SignalR簡介 - 建立 realtime 的網站 by 91 [.NET] SignalR: 一個改變 Web 應用開發觀念的開發方式 by 小朱 [.NET][SignalR] 體驗 SignalR: Hello by 小朱 [.NET][SignalR] 由 Server 呼叫 JavaScript–使用 SignalR 實作 Push 訊息模式 by 小朱 手邊有個需求...
Posted 10 July 2012 11:41 PMJeffrey | 10 comment(s) 42,675
Filed under: ,

搜尋

Go

<June 2017>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication