Esempio n. 1
0
        public void BrowseNextAsyncNull()
        {
            var response = new BrowseNextResponse();
            var channel  = new TestRequestChannel(response);

            channel.Invoking(c => c.BrowseNextAsync(null))
            .Should().Throw <ArgumentNullException>();
        }
Esempio n. 2
0
        public async Task BrowseNextAsync()
        {
            var response = new BrowseNextResponse();
            var request  = new BrowseNextRequest();
            var channel  = new TestRequestChannel(response);

            var ret = await channel.BrowseNextAsync(request);

            ret
            .Should().BeSameAs(response);

            channel.Request
            .Should().BeSameAs(request);
        }
Esempio n. 3
0
        public async Task <BrowseNextResponse> BrowseNextAsync(BrowseNextRequest browseNextRequest)
        {
            UpdateRequestHeader(browseNextRequest, true, "BrowseNext");
            BrowseNextResponse browseNextResponse = null;

            try
            {
                if (UseTransportChannel)
                {
                    var serviceResponse = await Task <IServiceResponse> .Factory.FromAsync(TransportChannel.BeginSendRequest, TransportChannel.EndSendRequest, browseNextRequest, null).ConfigureAwait(false);

                    if (serviceResponse == null)
                    {
                        throw new ServiceResultException(StatusCodes.BadUnknownResponse);
                    }
                    ValidateResponse(serviceResponse.ResponseHeader);
                    browseNextResponse = (BrowseNextResponse)serviceResponse;
                }
                else
                {
                    var browseNextResponseMessage = await Task <BrowseNextResponseMessage> .Factory.FromAsync(InnerChannel.BeginBrowseNext, InnerChannel.EndBrowseNext, new BrowseNextMessage(browseNextRequest), null).ConfigureAwait(false);

                    if (browseNextResponseMessage == null || browseNextResponseMessage.BrowseNextResponse == null)
                    {
                        throw new ServiceResultException(StatusCodes.BadUnknownResponse);
                    }
                    browseNextResponse = browseNextResponseMessage.BrowseNextResponse;
                    ValidateResponse(browseNextResponse.ResponseHeader);
                }
            }
            finally
            {
                RequestCompleted(browseNextRequest, browseNextResponse, "BrowseNext");
            }
            return(browseNextResponse);
        }
Esempio n. 4
0
        /// <summary>
        /// Invokes the BrowseNext service.
        /// </summary>
        public IServiceResponse BrowseNext(IServiceRequest incoming)
        {
            BrowseNextResponse response = null;

            BrowseNextRequest request = (BrowseNextRequest)incoming;

            BrowseResultCollection results = null;
            DiagnosticInfoCollection diagnosticInfos = null;

            response = new BrowseNextResponse();

            response.ResponseHeader = ServerInstance.BrowseNext(
               request.RequestHeader,
               request.ReleaseContinuationPoints,
               request.ContinuationPoints,
               out results,
               out diagnosticInfos);

            response.Results         = results;
            response.DiagnosticInfos = diagnosticInfos;

            return response;
        }
Esempio n. 5
0
        /// <summary>
        /// Initializes the message with a service fault.
        /// </summary>
        public BrowseNextResponseMessage(ServiceFault ServiceFault)
        {
            this.BrowseNextResponse = new BrowseNextResponse();

            if (ServiceFault != null)
            {
                this.BrowseNextResponse.ResponseHeader = ServiceFault.ResponseHeader;
            }
        }
Esempio n. 6
0
 /// <summary>
 /// Initializes the message with the body.
 /// </summary>
 public BrowseNextResponseMessage(BrowseNextResponse BrowseNextResponse)
 {
     this.BrowseNextResponse = BrowseNextResponse;
 }
Esempio n. 7
0
        /// <summary cref="IServiceMessage.CreateResponse" />
        public object CreateResponse(IServiceResponse response)
        {
            BrowseNextResponse body = response as BrowseNextResponse;

            if (body == null)
            {
                body = new BrowseNextResponse();
                body.ResponseHeader = ((ServiceFault)response).ResponseHeader;
            }

            return new BrowseNextResponseMessage(body);
        }