Queued Services

来源:互联网 发布:企业邮箱 多域名绑定 编辑:程序博客网 时间:2024/06/08 11:50

1.Queue Contract: [OperationContract(IsOneWay = true)]

2.Configuration of DisableSecurity(同时设置MEX):

                 <endpoint
                    address="net.msmq://localhost/private/ClassA_SendMail"
                    binding="netMsmqBinding"
                    contract="EmailService.ISendMail"
                    bindingConfiguration="SendMailNetMsmqBinding" />
                <endpoint
                    address="mex"
                    binding="mexHttpBinding"
                    contract="IMetadataExchange" />
                <host>
                    <baseAddresses>
                        <add baseAddress="http://localhost:8080/SendMail/" />
                    </baseAddresses>
                </host>

        <bindings>
            <netMsmqBinding>
                <binding name="SendMailNetMsmqBinding">
                    <security mode="None" />
                </binding>
            </netMsmqBinding>
        </bindings>

3.使用Queue之前要Verify是否存在

ServiceHost host = new ServiceHost(typeof(MyService));if(MessageQueue.Exists(@"./private$/MyServiceQueue") == false)

{

  MessageQueue.Create(@"./private$/MyServiceQueue",true);

}

4.MSMQ支持Transaction,包括三种:

1)客户端的Transaction:Client->Client Queue

2)Delivery Queue:客户端的Queue Delivery 到服务端的Queue

3)服务端的Transaction:Service 从Service Queue接收数据

5,避免Sessionful queued service

 

 

 

原创粉丝点击