web-services - 自定义 TFS Web 服务插件的问题

标签 web-services tfs

我不确定我要做什么是正确的所以我首先告诉你我的问题。 我有 TFS 作为错误跟踪系统和另一个跟踪工作时间的系统。我希望如果一个工作项状态改变,其他系统也会改变状态。

到目前为止我所做的是以下内容。

我为 TFS Web 服务编写了一个插件,我捕获了 WorkItemChangedEvent。

 public EventNotificationStatus ProcessEvent(TeamFoundationRequestContext requestContext, NotificationType notificationType, object notificationEventArgs, 
                                                    out int statusCode, out string 
statusMessage, out ExceptionPropertyCollection properties)   
        {
            statusCode = 0;
            properties = null;
            statusMessage = String.Empty;
            try
            {
                if (notificationType == NotificationType.Notification && notificationEventArgs is WorkItemChangedEvent)
                {
                    WorkItemChangedEvent ev = notificationEventArgs as WorkItemChangedEvent;
                    EventLog.WriteEntry("WorkItemChangedEventHandler", "WorkItem " + ev.WorkItemTitle + " was modified");
                }

            }
            catch (Exception)
            {
            }
            return EventNotificationStatus.ActionPermitted;
        }

我将 DLL 放到了 C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services\bin\Plugins 但我看起来从未调用过扩展名。因此事件日志中没有任何内容出现。

但如果我尝试像这篇文章中那样调试服务 http://geekswithblogs.net/jakob/archive/2010/10/27/devleoping-and-debugging-server-side-event-handlers-in-tfs-2010.aspx 我不能 Hook 的过程。所以调试不起作用。 为什么我不能调试服务?有没有更好的方法来做到这一点?

最佳答案

不确定您是否解决了这个问题,但对我来说您似乎缺少类中的订阅方法。

public Type[] SubscribedTypes()
{
    return new Type[1] {typeof(WorkItemChangedEvent)};
}

没有这个你的插件将永远不会被击中,因此你将无法调试。

关于web-services - 自定义 TFS Web 服务插件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4992286/

相关文章:

TFS:移动文件夹后删除剩余的自定义映射

c# - 用于转到源代码管理资源管理器中特定项目的 Visual Studio 命令

iphone - 如何在 iPhone 中不使用 NSDictionary/NSMutableDictionary 中的 Key 来获取值?

c# - 修改响应 header 时,WCF web 服务未返回正确的状态代码

java - 将 CXF 服务的客户端 receiveTimeout 设置为 4 分钟以上

visual-studio - 如何使用构建定义发布 ClickOnce 应用程序?

javascript - 使用 JavaScript 调用 SOAP 服务

java - CXF和spring如何相互支持

c# - 如何为 MTM 套件或计划设置来自测试经理或 Team Foundation Server 的通知?

visual-studio-2013 - 检测 TFS 构建与 Visual Studio 构建