很多應用都是基於伺服器(SERVER)/用戶端(CLIENT),這樣可以很好地把功能分布到不同的電腦上去處理大大提高了系統的靈活性。這種方式的運行特點就是用戶端向伺服器發送訊息,伺服器處理後把結果返回給用戶端處理。在.Net平台下提了兩中方案WebService和Remoting。Remoting提供很強的對象遠端能力,在它基礎可以快整建立自己的訊息處架構方便實現分布式系統處理系統。
(圖1)
1 制定訊息介面和訊息處理介面
在確定功能之前必須把規範制定下來,這樣才能方便工作的開展。
明確訊息介面規則定下來,盡量簡單;當然不能直接用object太泛也不能表達目的。
訊息的規則:
public interface IMessage
{
string ID
{
get;
}
string Name
{
get;
set;
}
object Body
{
get;
set;
}
}
郵件規則已經明確了,還必須明確能夠處理訊息的規則。如果沒有這個規則就不能工作,因為沒有資訊可以把訊息和處理的類綁定在一起。
處理郵件規則:
public interface IDispense
{
void Accept(IMessage message,ServerContext context);
}
2 制定訊息和業務處理關聯設定檔
這一項是起著橋樑的作用,它告訴訊息處理容器對不同的訊息應該執行那些功能。
可以描述那些訊息觸發那些功能:
<Message blltype="ClassName,Assembly" msgtype="ClassName,Assembly" single="bool"/>
也可以描述這個名稱空間的所有訊息觸發那些功能
<Message blltype="ClassName,Assembly" msgtype="Namespace.*,Assembly" single="bool"/>
single用於描述只執行個體一個對象處理,還是針對每個訊息單獨執行個體化。
3 制定訊息分配處理容器
訊息處理容器是主要用於管理和訊息分發作用,服務端接收訊息後發送到容器中處理,容器會根據訊息的類型進行處理髮觸發相應的功能。
4 類圖