1

我在 Azure 服务总线上有几个队列,现在正在设置 WCF 中继服务(内部)来处理消息。我编写了一个托管此服务的控制台应用程序,如下所示:

 var sh = new ServiceHost(typeof(MyWcfService));

            try
            {
                sh.Open();

                foreach (var endpoint in sh.Description.Endpoints)
                    Console.WriteLine(String.Format("Listening at: {0}", endpoint.Address));    

                Console.Write("Press ENTER to close");
                Console.ReadLine();

            }
            catch (Exception e)
            {
                ...
            }
            finally
            {
                sh.Close();
            }

MyWcfService 正在使用该方法实现一个接口

    [WebInvoke]
    [OperationContract]
    void ProcessMessage(IntegrationMessage message);

执行时,我收到消息,告诉我应用程序正在侦听三个不同的服务总线端点(这是我配置的端点),所以这似乎是正确的。

通过 Fiddler 查看流量时,我只得到 4 行:

200 HTTP    Tunnel to   xxx-sb.accesscontrol.windows.net:443
200 HTTPS   xxx-sb.accesscontrol.windows.net    /WRAPv0.9/  
200 HTTPS   xxx-sb.accesscontrol.windows.net    /WRAPv0.9/
200 HTTPS   xxx-sb.accesscontrol.windows.net    /WRAPv0.9/  

在我看来这似乎是正确的,因为它返回 200 并且我在提琴手中看到它也返回一个 wrap_access_token ..?

问题是为什么没有任何额外的请求来获取实际消息?我期待额外的调用来打开与服务总线的连接,但没有进行任何..

我知道三个队列中至少有两个有消息。

任何帮助将不胜感激,如果需要,我将提供更多信息。

4

0 回答 0