簡體   English   中英

C#.NET遠程處理最佳實踐?

[英]C# .NET Remoting Best Practice?

好的,所以我知道我對.NET遠程處理非常陌生,就最佳實踐而言,我還有一個問題。 首先,我已經擁有一個內部應用程序,該應用程序已經構建並且具有我引用的dll,可以為我處理所有數據。 我希望服務器版本的應用程序能夠利用所有這些類及其方法,並能夠來回傳遞這些自定義對象。

我的問題是,是否應該將[Serializable]應用於我想來回傳遞的所有類,然后創建專門使用我的方法進行Get,AddOrUpdate,Delete等的特殊類?

現在,我所有與數據庫進行來回通信的類中都有Get,AddOrUpdate和Delete方法。 我已經了解到無法對所有這些類使用MarshalByRefObject和[Serializable],否則我將遇到問題。 因此,這就是為什么我認為我需要創建執行“管理”的單獨類(例如,Get,AddOrUpdate,Delete),而不是具有Property定義以及Method調用。

我想做的一個例子需要完成。

[Serializable]
    public class Users {
        #region Properties...
        private int _userID;
        private string _displayName;
        private string _userName;
        private string _firstName;
        private string _lastName;
        private string _LogOnPassword;
        private List<Users> _Associates = new List<Users>();
        private AuthenticationLevel _authorizationLevel;
        private string _userSettingsXML;
        private string _active;
        private string _signature;
        private int _PhoneExtension;
        private int _Index;
        private List<UserAssignedRoles> _Roles = new List<UserAssignedRoles>();

然后,要實際創建列表,我將有一個單獨的類,稱為UserManagement之類。

public class UserManagement : MarshalByRefObject { 
    public List<Users> GetUsers() { 

    }
}

任何意見是極大的贊賞!

遠程處理可能是一種很好的方法,但是由於您沒有就遠程處理的原因提供很多背景信息,所以讓我提供一個額外的建議。 您可能要考慮創建Web服務以用於跨體系結構層的通信。 Windows Communication Foundation(WCF)是一項成熟的技術,它使簡單通信變得非常簡單。 您可能還想閱讀有關面向服務的體系結構(SOA)的信息,也許從四個SOA原則開始

使用WCF重用當前的類應該沒有任何麻煩。 服務將為您提供更好的結構,而且WCF技能比.NET Remoting技能要普遍得多(對於需要在您之后接下來管理此代碼的人員而言)。

祝好運! -法案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM