コード例 #1
0
ファイル: EventingServer.cs プロジェクト: nickchal/pash
 public void BindWithPullDelivery(
    Uri listeningResourceUri, 
    string dialect, 
    Type filterType,
    IEventingRequestHandler eventSource,
    Uri deliveryResourceUri         
    )
 {
    PullDeliverySubscriptionManager enumHandler = new PullDeliverySubscriptionManager(deliveryResourceUri.ToString(), _pullDeliveryServer, eventSource);
    _filterMap.Bind(dialect, filterType);
    _enumHandlers[new HandlerMapKey(listeningResourceUri.ToString(), dialect)] = enumHandler;
 }
コード例 #2
0
ファイル: EventingServer.cs プロジェクト: modulexcite/pash-1
        public void BindWithPullDelivery(
            Uri listeningResourceUri,
            string dialect,
            Type filterType,
            IEventingRequestHandler eventSource,
            Uri deliveryResourceUri
            )
        {
            PullDeliverySubscriptionManager enumHandler = new PullDeliverySubscriptionManager(deliveryResourceUri.ToString(), _pullDeliveryServer, eventSource);

            _filterMap.Bind(dialect, filterType);
            _enumHandlers[new HandlerMapKey(listeningResourceUri.ToString(), dialect)] = enumHandler;
        }
コード例 #3
0
 public PullDeliverySubscriptionManager(string deliveryResourceUri, EventingPullDeliveryServer deliveryServer, IEventingRequestHandler handler)
 {
    Type eventingRequestHandlerGenericInterface =
       handler.GetType().GetInterface(typeof (IEventingRequestHandler<>).Name);
    if (eventingRequestHandlerGenericInterface == null)
    {
       throw new InvalidOperationException("Eventing request handler must implement generic version of IEventingRequestHandler interface.");
    }
    _eventType = eventingRequestHandlerGenericInterface.GetGenericArguments()[0];
    _deliveryResourceUri = deliveryResourceUri;
    _handler = handler;
    _deliveryServer = deliveryServer;
 }
コード例 #4
0
        public PullDeliverySubscriptionManager(string deliveryResourceUri, EventingPullDeliveryServer deliveryServer, IEventingRequestHandler handler)
        {
            Type eventingRequestHandlerGenericInterface =
                handler.GetType().GetInterface(typeof(IEventingRequestHandler <>).Name);

            if (eventingRequestHandlerGenericInterface == null)
            {
                throw new InvalidOperationException("Eventing request handler must implement generic version of IEventingRequestHandler interface.");
            }
            _eventType           = eventingRequestHandlerGenericInterface.GetGenericArguments()[0];
            _deliveryResourceUri = deliveryResourceUri;
            _handler             = handler;
            _deliveryServer      = deliveryServer;
        }
コード例 #5
0
        public void If_pull_returns_no_items_exception_is_thrown()
        {
            IEventingRequestHandler <int> mockHandler = MockRepository.GenerateMock <IEventingRequestHandler <int> >();

            OperationContextProxy.Dummy.LocalAddress = ResourceUri;

            EventingServer server = new EventingServer();

            server.BindWithPullDelivery(ResourceUri, FilterMap.DefaultDialect, typeof(void), mockHandler, ResourceUri);
            SubscribeResponse subscribeResponse = server.Subscribe(ResourceUri.ToString(), null, new SubscribeRequest
            {
                Delivery = Delivery.Pull(),
                Expires  = Expires.FromTimeSpan(TimeSpan.Zero)
            });

            server.Pull(new PullRequest
            {
                EnumerationContext = subscribeResponse.EnumerationContext,
            });
        }
コード例 #6
0
 public Subscription(Expires expires, IEventingRequestHandler requestHandler, object filterInstance, EndpointReference subscriptionManagerReference, IIncomingHeaders incomingHeaders)
 {
     _handlerSubscription = requestHandler.Subscribe(this, filterInstance, subscriptionManagerReference, incomingHeaders);
     Renew(expires);
 }
コード例 #7
0
 public EventingServer(IEventingRequestHandler requestHandler)
 {
     _requestHandler = requestHandler;
 }
コード例 #8
0
 public void BindPullEventing(Uri resourceUri, string dialect, Type filterType, IEventingRequestHandler eventingRequestHandler, Uri deliveryResourceUri)
 {
     _filterMap.Bind(dialect, filterType);
     _pullRoutingTable[deliveryResourceUri.ToString()] = _pullDeliveryServer.Pull;
     _eventingServer.BindWithPullDelivery(resourceUri, dialect, filterType, eventingRequestHandler, deliveryResourceUri);
 }
コード例 #9
0
 public Subscription(Expires expires, IEventingRequestHandler requestHandler, object filterInstance, EndpointReference subscriptionManagerReference, IIncomingHeaders incomingHeaders)
 {
     _handlerSubscription = requestHandler.Subscribe(this, filterInstance, subscriptionManagerReference, incomingHeaders);
     Renew(expires);
 }
コード例 #10
0
 public EventingServer(IEventingRequestHandler requestHandler)
 {
     _requestHandler = requestHandler;
 }