1

我正在查看開發呈現用於管理/報告的ASP.NET MVC前端的服務器應用程序的最佳方法。推薦的體系結構 - 提供ASP.NET Web前端的服務器應用程序

服務器應用程序(service?)還需要提供TCP偵聽器以及與COM端口上的設備進行通信。

我能想到的最明顯的方式就是擁有一個ASP.NET MVC Web應用程序並具有一個使用Web調用/服務與Web應用程序對話的Windows服務。我想我會談談使用TCP偵聽器或遠程服務的服務?

唯一的另一種方法是在服務中實際託管一個Web服務器組件,而不是使用似乎有點超過IIS的IIS。

有沒有人有任何這種/建議的經驗?

這是有點開放性的,但希望我已經解釋了基礎。

TIA

山姆

回答

1

這聽起來像你對我正在尋找的東西非常接近Windows Communication Foundation。您對IIS託管,ASP.NET通信和TCP通信的要求。 MSDN有一個WCF的簡要概述up here。還有一篇關於運輸協議here的文章。

有一些很好的 - 如果有點舊 - WCF在這裏問題Stack Overflow。我剛開始自己​​鑽研這個世界,我不得不承認,起初這很艱鉅。新手指南(在上面的第一個超鏈接中找到)有一些稍微陳舊但很有用的關於WCF的教程視頻。

我會說,雖然它看起來令人生畏或困難,但爲了您的目的,使用現有的已建立的技術當然更好,而不是嘗試爲這樣的事情編寫自己的自制解決方案。

+0

謝謝Jwiscarson,WCF是要走的路。 – sambomartin

2

我可能會試着去分離一些東西。

從所有業務邏輯所在的核心項目開始(不管用戶如何與之交互);一種DDD域模型的想法。

然後,創建兩個消耗該核心項目的項目,一個是您的MVC應用程序,另一個是基於WCF或ServiceStack的服務,可以處理您的TCP內容。

使用常規方法在它們之間分享狀態;共享數據庫等

+0

感謝您的回答。我已經有了數據和服務層。在過去的幾年裏,我對WCF沒有做太多的工作,但再次查看它確實符合我想要實現的許多目標。 – sambomartin

1

我開始ServiceStack因爲我需要一個high-performance web services framework選項,促進the correct way to develop web services

ServiceStack可以在任何ASP.NET主機或自託管的頂部使用HttpListener選項來運行。有關Console App或Windows Service主機的示例項目,請參見Starter Templates。儘管即使在IIS下,ServiceStack也非常快速,並且在響應時間內執行的Hello World服務的開銷很小。

ServiceStack還帶有.NET's fastest text serializers和無數的high-performance caching providers,因此您可以轉義綁定ASP.NET會話和緩存提供程序模型的XML配置。

因爲ServiceStack鼓勵乾淨的基於消息的開發模式相同的Web服務可以利用Redis MQ Host的允許它使用Redis的作爲經紀人HTTP上下文的外部調用 - 與需要沒有代碼的變化。

Redisfastest distributed NoSQL data stores之一。

+0

感謝您回答btw神話,之前沒有真正看到服務堆棧,但通過您發佈的鏈接閱讀了很多。看起來很有趣。 – sambomartin

+0

不客氣:) – mythz

相關問題