我有這個古老的被詛咒的遺留意大利面條代碼庫,我在我的作業場所繼承了它。它由多個 Windows 服務和幾個 GUI 組成。所有專案都針對 .NET Framework 4。某些東西(不同的專案針對不同的版本),因此,很明顯,它們僅適用于 Windows。
我試圖在 .NET 3.1(現在它已經發布,6.0)中從頭開始重寫它,因為我發現這將是避免發瘋的最快和更好的選擇(它真的很糟糕)并且因為這是安裝在嵌入式機器中,每臺機器的 Windows 許可證很昂貴。
現在,由于這些服務以 .NET Framework 為目標,所以只有 Microsoft 的東西,他們使用 Windows Comunication Foundation;或者至少我很確定他們這樣做,因為公共介面之一具有此屬性
[ServiceContract(Name="Service",Namespace="http://tempuri.org/")]
(完全像那樣寫。盡管有天麩羅,但這些東西仍在生產中)
應用程式也可以安裝在用戶的計算機上(特定的管理 GUI),并且考慮到安裝在用戶的 Windows 計算機上的那些 WCF 服務還有 3rd 方消費者,更改公共 WCF API 是行不通的.
我重新開發了(更好)的堆疊,與以前的代碼庫完全一樣,但現在我不知道如何在 .NET 6.0 中重新創建 WCF 服務,因為 WCF 是僅限 Windows 的, .NETFramework 特定的技術。
我對這個問題的看法是創建一個新的 gRPC/REST 服務,并有一個輔助轉換器/配接器 .NET Framework 服務,專門用于兼容性,因為到目前為止,第 3 方消費者僅安裝在 Windows 機器上。(我確實有一些裸檔案和 .wsdl,所以我可以毫無問題地重新創建它。還有意大利面條的源代碼)
但也許存在更好的解決方案:有沒有辦法在 .NET Core 中重新創建與 WCF 兼容的服務器?我應該堅持使用配接器服務嗎?針對業務邏輯的目標 .NET Standard 2.1 并有一個 .NET Framework 服務使用它?或者有沒有我沒有看到的更好的解決方案?
在此先感謝所有愿意花時間閱讀和回答的人。
uj5u.com熱心網友回復:
如果您正在尋找靈活的框架,請以 gRPC 為目標。gRPC 已經在許多跨平臺應用程式和多個框架中使用。gRPC 將為您提供最大的靈活性。
如果您的應用程式主要與瀏覽器互動,則以 ASP.NET Core MVC 為目標。與 gRPC 相比,它有一些缺點,但它更容易用于 Web 應用程式。
如果您絕對不能從 WCF 繼續前進,請觀看 CoreWCF。.NET Framework 不會很快消失,WCF 將繼續發揮作用。如果盡早擁有它至關重要,您可以考慮成為專案本身的貢獻者。
https://visualrecode.com/blog/wcf-alternatives-for-net5/
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/359208.html
下一篇:WCF:請求物體太大
