0

我想使用 WCF 从/向 MSMQ 获取和发送。FeedWorker方法将从 MQ(来自 queue1)获取消息并提供给将处理消息的线程,然后将结果保存到queue2. FeedWorker并且ProcessCustomer在同一个项目中。

public void FeedWorker()
{
    while(true)
    {
        var msg = GetFromMQ();
        ThreadPool.QueueUserWorkItem(ProcessCustomer, msg);
    }
}
public void ProcessCustomer(object o)
{
    // Do some work
    // ...
    SentToMQ(result);
}

为了实现这一点,我想使用netMsmqBinding.

namespace Test 
{
    public class WcfService : IWcfService
    {
        public void Get(Customer customer)
        {
            ThreadPool.QueueUserWorkItem(ProcessCustomer, customer);
        }
        public void SaveResult(string result)
        { }
    }

    public void FeedWorker()
    {
        using (var serviceHost = new ServiceHost(typeof(WcfService)))
        {
            serviceHost.Open();
        }
    }

    public void ProcessCustomer(object o)
    {
        // Do some work
        // ...
        WcfServiceClient.SaveResult(result);
    }
}

我觉得我做错了什么。当我这样做时,我无法接收和发送到不同的队列。如何实施?

4

0 回答 0