[C#.NET][WCF] 实践 单向 MSMQ @self-host for MsmqIntegrationBinding

[C#.NET][WCF] 实践 单向 MSMQ @self-host for MsmqIntegrationBinding


MsmqIntegrationBinding 是 WCF 提供的另一种 MSMQ 格式,它与 NetMsmq 的格式有很大的不同,基本上不能混用

费了点时间找出合约规则,其余的用法就跟上一篇 http://www.dotblogs.com.tw/yc421206/archive/2013/10/23/125276.aspx 一样了,不浪费太多篇幅,这里只记载一些重点,有需要的人直接拉范例玩玩看

合约规范

1.要使用 ServiceKnownType

2.方法要定义 IsOneWay / Action 及 void

3.方法参数要使用 MsmqMessage

范例如下:


[ServiceContract()]
[ServiceKnownType(typeof(User))]
public interface IProcessor
{
    [OperationContract(IsOneWay = true, Action = "*")]
    void SendUser(MsmqMessage
 
 
  
   request);
}
 
 

SerializationFormat

因 MsmqIntegrationBinding 是透过序列化在处理数据交换

SNAGHTML18e0290

所以数据类要定义正确的序列化特性,以本篇是以 Xml 为主


[DataContract]
[Serializable]
public class User
{
    [DataMember]
    public Guid ID { get; set; }

    [DataMember]
    public string Name { get; set; }

    [DataMember]
    public int Age { get; set; }

    public override string ToString()
    {
        return string.Format("ID: {0}, Name: {1}, Age: {2}", this.ID, this.Name, this.Age);
    }
}

端点位置

以 msmq.formatname: 为开头

msmq.formatname:DIRECT=OS:.private$myQueue


文章出自:http://www.dotblogs.com.tw/yc421206/archive/2013/10/24/125478.aspx

饭粒下载:https://az787680.vo.msecnd.net/user/yc421206/1310/201310241740255.zip

若有谬误,烦请告知,新手发帖请多包涵

2010~2017 C# 第四季

原文:大专栏  [C#.NET][WCF] 实践 单向 MSMQ @self-host for MsmqIntegrationBinding


猜你喜欢

转载自www.cnblogs.com/chinatrump/p/11516340.html