私は非同期SOAを提供する方法としてMSMQを使用しています。説明が難しいため、以下のコードを参照してください。私はそれを行う最善の方法を理解しようとしています。MSMQに関する質問「メッセージを処理する方法」
//another method reads off MSMQ and passes the Message into this method
public void ReadMSMQAndAction(Message m)
{
var e = m.Entity;
/* this is really bad, but i some how still need some
* kind of traffic cop to direct action */
switch typeof(m.Entity)
case Order.GetType()
switch e.Action
case "SAVE"
//todo OrderRepo Save
}
//Message gets searlized and put into MSMQ
public class Message<T>
{
public T Entity { get;set; }
/* should this be string?
* or some kind of rule i.e. "ClassName:MethodName" etc? */
public string Action { get;set; }
}
public class OrderRepo
{
public void Save(Order o) { /* todo */ }
public void Delete(Order o) { /* todo */ }
public void Update(Order o) { /* todo */ }
}
コードが複雑になると、管理が難しくなります。どんな提案も歓迎です!
ありがとうございました。なぜ私はデリゲートを考えなかったのですか? – Jeff
しかし実際に私が思っていたのは、バックエンドがクライアントに透過的になりたいということでした。つまり、OrderRepoがクライアントに公開されていない可能性があります。クライアントのために何らかのメカニズムを持ち、指示を交換する必要があります。 – Jeff
ロジックがDLLにある場合、フロントとバックは両方を共有できます。 – cjk