我正在尝试从TFS向我的WCF服务发送WorkItemChanged通知。在我的开发机器上,一切都运行得很好,通知几乎立即传递(并由我的程序处理)。
但是现在因为我想在另一个安装了“新安装”TFS 2012的系统上测试我的软件,所以不会发送通知。我调查了一下,发现了以下错误:
elapsed time: 00:00:00.2376893, sql calls: 19, sql connect time: 00:00:00, sql execute time: 00:00:00.1560000, non-sql time: 00:00:00.0816893 (34%), cpu time: 00:00:00.0156001 ( 6.6%), avg connect time: 0.00 ms, avg execute time: 8.2 ms. All methods quick. 0 slowest sql calls: prc_ReadGroupMembership(47 ms) set nocount on
declare @NowUtc as datetime; set @NowUtc=getutcdate()
declare @PersonId as int
declare @rebuildOK as int
declare @PersonN(30 ms) CollectionError: CreateEvent != TransformEvents. CollectionError: CreateEvent != ExpandEvents. CollectionError: AfterReadSubscription != SendNotifications.
There were errors or warnings during notification delivery.
0/0 emails delivered.
0/1 soap notifications delivered.
1 errors.
0 warnings.
-------------------------------
Notification not delivered.
Notification: WorkItemChangedEvent (DeliveryType: Soap; Address: http://localhost:8733/NAMEOFMYSERVICEENDPOINT)
Exception: System.NotSupportedException: Collection is read-only.
at System.Collections.ObjectModel.Collection`1.Clear()
at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.HandleReply(TfsClientOperation operation, TfsMessage message, Object[]& outputs)
at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, Object[]& outputs)
at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters)
at Microsoft.TeamFoundation.JobService.Extensions.Core.NotificationJobExtension.SendSoapNotification(TeamFoundationRequestContext requestContext, TeamFoundationNotification notification)
我真的不明白问题到底是什么或来自哪里。这个错误指的是什么“收集”?它是我的服务方面的东西还是与TFS方面的错误配置或一些缺少管理权限有关?
修改
几乎忘记了这个问题;)
显然,这是由于通过BisSubscribe.exe订阅通知时出错。删除通知并重新订阅后,错误消失了。