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 を介して通知をサブスクライブする際のエラーが原因だったようです。通知を削除して再登録すると、エラーはなくなりました。