我只是在30小時前開始使用SignalR開始討論這個問題,所以請原諒任何業餘問題,並隨時向我指出我錯過的文檔你知道一些。另外,我並不想寫博客文章 - 只是解釋我經歷的步驟以獲得我的位置。SignalR Sql Server/Owin依賴問題
TLDR?跳到最後的問題...
我需要使用Sql Server Backplane(很喜歡使用Redis,但我們目前沒有處理Redis,並且也不太舒服,因此也引入了許多新技術一個開發週期)。目前,沒有NuGet包可用於Microsoft.AspNet.SignalR.SqlServer
,所以我必須使用Github源代碼。
於是我就去拆了源,編譯並添加了參考Microsoft.AspNet.SignalR.SqlServer.dll但現在編譯引用在我的代碼GlobalHost.DependencyResolver.UseSqlServer(...)
失敗時(特別是 - 它的依賴性衝突,其中*.SqlServer
代碼預計更新版本的*.SignalR.Core
- 並不是真的令人驚訝,因爲Github的版本(無疑)自從NuGet包發佈以來已經有了一些更改(無疑)。 :(
因此,下一步是使用我*.SqlServer
編譯*.Core
下一個問題 - 新SignalR版本不再與已被替換爲*.Owin
庫*.Hosting.Common
或*.Hosting.AspNet
工作
所以,。我添加了*.Owin
(和Owin--來自NuGet),但現在我遇到了另一個問題:MapHubs(...)
擴展方法不再有效 - 在Owin中有擴展方法,稱爲MapHubs(IAppBuilder builder, ...)
,但它們不再適用於RouteTable
- 它們的作用是Owin.IAppBuilder
(因此需要參考Owin,我想)
所以這就是我所在的地方。我做了一個關於Owin的快速讀取(看起來像一個很酷的概念),但我並不特別在乎花費幾個小時才能在服務器端設置SignalR。所以,現在的問題:
- 如果我只是儘量讓
*.SqlServer
發揮與SignalR的舊的NuGet包好的(換句話說,是不是有可能改變*.SqlServer
的依賴將引入不可靠的行爲)?或者,是否有*.SqlServer
版本可與在線的NuRet發佈版本的SignalR一起使用? - 需要通過Owin主機方法運行SignalR需要哪些具體步驟(如果沒有Nancy集成,我無法找到任何示例 - 或者說這是正確的方法)?
- 什麼是MapHubs方法的替代方法?我從哪裏獲得IAppBuilder?我甚至應該這樣做嗎?
- 在Google Groups post中,David Fowler指出,在Owin支持下,不再需要AspNet依賴關係。這很好 - 但有什麼理由在ASP.Net MVC應用程序中使用SignalR嗎?
- 如果服務器上沒有通過IIS託管SignalR的任何部分,客戶端回退(即SSE或長輪詢)是否通過IIS或獨立使用Owin主機?
- 最後,我打算將SignalR從一個ASP.Net MVC 4項目運行爲另一個現有站點的虛擬目錄 - 我希望在單個域中工作。使用Owin方法,當我的網站託管在IIS 7.5中時,這樣做還是可行的嗎?
UPDATE:每1.如上所述,我設法得到的代碼通過使*.SqlServer
編譯取決於當前的NuGet *.Core
實現。所以現在我可以繼續發展。我認爲我不想在生產中使用它 - 我只需要做一些與處理對象有關的變化 - 但我不認爲這是一個好方法。所以我的問題圍繞歐文的方法仍然存在 - 除非有人能說服我採取的做法很好。
感謝, 扎克
這種類型的問題太廣泛了。相反,試着提出不同的具體問題,然後人們可能真的想回答。 – davidfowl
是的,我明白你在說什麼大衛 - 我通常會盡量使用SO問題儘可能具體。問題是,我找不到任何有關所列問題的有用信息 - 所以我不知道從哪裏開始。我知道你們還在研究下一個版本,而且這個開發比文檔更重要,但是沒有工作例子,很難甚至不知道要問什麼。 –
此外,雖然問題2和5可能過於籠統(我將看到有關刪除/改進它們),但還有一些(問題1,3,4和6),即恕我直言,非常具體...... –