トランザクション システムのデッド レター キューからデッド レターを読み取るサービスを作成しようとしています。
サービス構成は次のようになります。
<service name="NotificationDeadLetterQueueService">
<endpoint
address="net.msmq://localhost/system$;DeadXact"
binding="netMsmqBinding"
contract="INotificationService"
/>
</service>
私のサービスインターフェース:
[ServiceContract]
public interface INotificationService
{
[OperationContract(IsOneWay=true)]
[NetDataContractSerializerFormatAttribute]
void HandleNotification(Notification notification);
}
私のサービスの実装では:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class NotificationDeadLetterQueueService : INotificationService
{
#region INotificationService Members
[OperationBehavior(TransactionScopeRequired = true)]
public void HandleNotification(Notification notification)
{
throw new NotImplementedException();
}
#endregion
}
そして、次のようにホストを起動します。
ServiceHost serviceHost = new ServiceHost(typeof(NotificationDeadLetterQueueService));
serviceHost.Open();
これまでのところ、すべてが多くの本やチュートリアルで説明されているように見えますが、トランザクションのデッドレター キュー内でデッドレターを生成すると、サービスが呼び出されません。サービスの何が問題になっていますか?
助けてくれてありがとう