0


我正在尝试订阅 CheckinEvent,由于某种原因,我的 Notify 方法没有被调用。这是我的合同——

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
namespace TFSubscriber
{
    [ServiceContract(Namespace = "http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03")]
    public interface IRollupService
    {

        [OperationContract(Action = "http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03/Notify")]
        [XmlSerializerFormat(Style = OperationFormatStyle.Document)]
        void Notify(string eventXml, string tfsIdentityXml);

    }
}

我的实现非常简单,空的方法。我在我的 Notify 方法中放置了一个断点,它没有被调用。

这就是我订阅 CheckinEvent 的方式 -

C:\Program Files\Microsoft Team Foundation Server2010\Tools>bissubscribe.exe /eventType CheckInEvent /address http://localhost:4556/Rollupservice.svc /collection http://localhost:8080/tfs/defaultcollection

我已经将一个解决方案添加到源代码管理中,并且我正在检查一些文件并且断点没有被命中。我究竟做错了什么?

4

1 回答 1

0

你确定你的订阅有效吗?例如,尝试记录有关输入参数 eventXML 的一些信息。因为,您需要确定您的订阅是否有效。如果是这样,您可以运行您的 SVC 项目并在其上附加一个调试器。这就是调试器应该如何击中你的断点。

于 2013-03-16T14:36:12.693 回答