• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# RequestInfo类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中RequestInfo的典型用法代码示例。如果您正苦于以下问题:C# RequestInfo类的具体用法?C# RequestInfo怎么用?C# RequestInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



RequestInfo类属于命名空间,在下文中一共展示了RequestInfo类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: SetsContentNullIfBodyValueIsNull

 public void SetsContentNullIfBodyValueIsNull()
 {
     var requestInfo = new RequestInfo(HttpMethod.Get, "foo");
     requestInfo.SetBodyParameterInfo<object>(BodySerializationMethod.Serialized, null);
     var content = this.requester.ConstructContent(requestInfo);
     Assert.Null(content);
 }
开发者ID:modulexcite,项目名称:RestEase,代码行数:7,代码来源:ContentConstructionTests.cs


示例2: ConstructsUriWithEscapedGivenParams

 public void ConstructsUriWithEscapedGivenParams()
 {
     var requestInfo = new RequestInfo(HttpMethod.Get, null);
     requestInfo.AddQueryParameter(QuerySerializationMethod.ToString, "b ar", "b az");
     var uri = this.requester.ConstructUri("/foo", requestInfo);
     Assert.Equal(new Uri("http://api.example.com/base/foo?b+ar=b+az"), uri);
 }
开发者ID:modulexcite,项目名称:RestEase,代码行数:7,代码来源:UriConstructionTests.cs


示例3: Request

        public override void Request(RequestLocalOptions opt, Message req, Action<Message> on_rpy)
        {
            string id;
            string is_closed;
            lock (state_lock) {
                id = (nextid++).ToString ();
                is_closed = closed_err;
                if (is_closed == null) {
                    pending [id] = new RequestInfo {
                        cb = on_rpy,
                        timeout = new Timer ((s) => {
                            RequestTimedOut (id);
                        }, null, (opt.Timeout + 5) * 1000, Timeout.Infinite),
                    };
                }
            }

            if (is_closed != null) {
                req.Discard ();
                Message.StreamToCallback (on_rpy, new RPCException ("transport", "Connection is closed", RPCException.DispatchFailure ()).AsHeader ());
            } else {
                req.Header ["request_id"] = id;
                req.Header ["type"] = "request";
                p.SendMessage (req);
            }
        }
开发者ID:dnorman,项目名称:scamp,代码行数:26,代码来源:SCAMPSOAClient.cs


示例4: HeadersFromPropertiesCombineWithHeadersFromClass

        public void HeadersFromPropertiesCombineWithHeadersFromClass()
        {
            var requestInfo = new RequestInfo(HttpMethod.Get, "foo");
            requestInfo.ClassHeaders = new List<KeyValuePair<string, string>>()
            {
                new KeyValuePair<string, string>("This-Will-Stay", "YesIWill"),
                new KeyValuePair<string, string>("Something", "SomethingElse"),
                new KeyValuePair<string, string>("User-Agent", "RestEase"),
                new KeyValuePair<string, string>("X-API-Key", "Foo"),
            };

            requestInfo.AddPropertyHeader<string>("Something", null, null);
            requestInfo.AddPropertyHeader("User-Agent", String.Empty, null);
            requestInfo.AddPropertyHeader("X-API-Key", "Bar", null);
            requestInfo.AddPropertyHeader("This-Is-New", "YesIAm", null);

            var message = new HttpRequestMessage();
            this.requester.ApplyHeaders(requestInfo, message);

            Assert.Equal(new[] { "YesIWill" }, message.Headers.GetValues("This-Will-Stay"));
            Assert.Equal(new[] { "SomethingElse" }, message.Headers.GetValues("Something"));
            Assert.Equal(new[] { "RestEase", "" }, message.Headers.GetValues("User-Agent"));
            Assert.Equal(new[] { "Foo", "Bar" }, message.Headers.GetValues("X-API-Key"));
            Assert.Equal(new[] { "YesIAm" }, message.Headers.GetValues("This-Is-New"));
        }
开发者ID:modulexcite,项目名称:RestEase,代码行数:25,代码来源:HeadersTests.cs


示例5: RequestAsyncSendsRequest

        public void RequestAsyncSendsRequest()
        {
            var requester = new RequesterWithStubbedSendRequestAsync(null);
            var responseMessage = new HttpResponseMessage()
            {
                Content = new StringContent("content"),
            };
            requester.ResponseMessage = Task.FromResult(responseMessage);
            var responseDeserializer = new Mock<IResponseDeserializer>();
            requester.ResponseDeserializer = responseDeserializer.Object;
            var cancellationToken = new CancellationToken();

            responseDeserializer.Setup(x => x.Deserialize<string>("content", responseMessage))
                .Returns("hello")
                .Verifiable();

            var requestInfo = new RequestInfo(HttpMethod.Get, "foo");
            requestInfo.CancellationToken = cancellationToken;
            var result = requester.RequestAsync<string>(requestInfo).Result;

            responseDeserializer.Verify();

            Assert.Equal(requestInfo, requester.RequestInfo);
            Assert.Equal("hello", result);
        }
开发者ID:modulexcite,项目名称:RestEase,代码行数:25,代码来源:SendRequestTests.cs


示例6: Get

 public HttpResponseMessage Get()
 {
     string dsName = (string)Request.Properties[Constants.ODataDataSource];
     var ds = DataSourceProvider.GetDataSource(dsName);
     var options = BuildQueryOptions();
     EdmEntityObjectCollection rtv = null;
     if (DynamicOData.BeforeExcute != null)
     {
         var ri = new RequestInfo(dsName)
         {
             Method = MethodType.Get,
             QueryOptions = options,
             Target = options.Context.Path.Segments[0].ToString()
         };
         DynamicOData.BeforeExcute(ri);
         if (!ri.Result)
             return Request.CreateResponse(ri.StatusCode, ri.Message);
     }
     try
     {
         rtv = ds.Get(options);
         if (options.SelectExpand != null)
             Request.ODataProperties().SelectExpandClause = options.SelectExpand.SelectExpandClause;
         return Request.CreateResponse(HttpStatusCode.OK, rtv);
     }
     catch (UnauthorizedAccessException ex)
     {
         return Request.CreateErrorResponse(HttpStatusCode.Unauthorized, ex);
     }
     catch (Exception err)
     {
         return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, err);
     }
 }
开发者ID:maskx,项目名称:OData,代码行数:34,代码来源:DynamicODataController.cs


示例7: GNTPParserTest

 public void GNTPParserTest()
 {
     var pw = new PasswordManager();
     var info = new RequestInfo();
     var parser = new GNTPParser(pw, false, true, true, true, info);
     var items = new List<IGNTPRequest>();
     parser.MessageParsed += (req) =>
     {
         items.Add(req);
     };
     parser.Error += (error) =>
     {
         Assert.Fail("ErrorCode={0}, Description={1}", error.ErrorCode, error.ErrorDescription);
     };
     ParseAll(parser);
     Assert.IsTrue(items.Count > 0);
     foreach (var item in items) {
         if (item.Directive == RequestType.NOTIFY) {
             var nLog = NeithNotificationRec.FromHeaders(item.Headers);
         }
         if (item.Directive == RequestType.REGISTER) {
             var app = Application.FromHeaders(item.Headers);
             Assert.AreEqual("SurfWriter", app.Name);
         }
     }
 }
开发者ID:pudwinkie,项目名称:neith,代码行数:26,代码来源:ParseTest.cs


示例8: EncodesPathParams

 public void EncodesPathParams()
 {
     var requestInfo = new RequestInfo(HttpMethod.Get, "/foo/{bar}/baz");
     requestInfo.AddPathParameter<string>("bar", "a/b/c");
     var uri = this.requester.SubstitutePathParameters(requestInfo);
     Assert.Equal("/foo/a%2fb%2fc/baz", uri);
 }
开发者ID:modulexcite,项目名称:RestEase,代码行数:7,代码来源:PathParameterTests.cs


示例9: Delete

 public HttpResponseMessage Delete(string key)
 {
     var path = Request.ODataProperties().Path;
     var edmType = path.Segments[0].GetEdmType(path.EdmType);
     string dsName = (string)Request.Properties[Constants.ODataDataSource];
     var ds = DataSourceProvider.GetDataSource(dsName);
     if (DynamicOData.BeforeExcute != null)
     {
         var ri = new RequestInfo(dsName)
         {
             Method = MethodType.Delete,
             Target = (edmType as EdmEntityType).Name
         };
         DynamicOData.BeforeExcute(ri);
         if (!ri.Result)
             return Request.CreateResponse(ri.StatusCode, ri.Message);
     }
     try
     {
         var count = ds.Delete(key, edmType);
         return Request.CreateResponse(HttpStatusCode.OK, count);
     }
     catch (UnauthorizedAccessException ex)
     {
         return Request.CreateErrorResponse(HttpStatusCode.Unauthorized, ex);
     }
     catch (Exception err)
     {
         return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, err);
     }
 }
开发者ID:maskx,项目名称:OData,代码行数:31,代码来源:DynamicODataController.cs


示例10: ArgumentBindingContext

        internal ArgumentBindingContext(RequestInfo request, RequestMapping requestMapping, ParameterInfo parameter, int index, IDictionary<RequestInfo, RequestInfo[]> multipartBodies)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }

            if (requestMapping == null)
            {
                throw new ArgumentNullException("requestMapping");
            }

            if (parameter == null)
            {
                throw new ArgumentNullException("parameter");
            }

            if (multipartBodies == null)
            {
                throw new ArgumentNullException("multipartBodies");
            }

            Request = request;
            RequestMapping = requestMapping;
            Parameter = parameter;
            Index = index;
            MultipartBodies = multipartBodies;
        }
开发者ID:alien-mcl,项目名称:URSA,代码行数:28,代码来源:ArgumentBindingContext.cs


示例11: Cache

        public void Cache(RequestInfo requestInfo, string answer)
        {
            HashAnswer hashAnswer = new HashAnswer();
            hashAnswer.Answer = answer;
            hashAnswer.QuestionText = requestInfo.Data;

            var firstOrDefault = work.HandlerTypes.GetAll().FirstOrDefault(
                x => x.Name == requestInfo.HandlerName);

            if (firstOrDefault != null)
            {
                hashAnswer.HandlerTypeId = firstOrDefault.Id;
            }
            else
            {
                // Create handler type if note exists
                HandlerType handler = new HandlerType()
                {
                    Name = requestInfo.HandlerName
                };
                work.HandlerTypes.Create(handler);
                work.Save();
                hashAnswer.HandlerTypeId =
                    work.HandlerTypes.GetAll().First(x => x.Name == requestInfo.HandlerName).Id;
            }

            work.HashAnswers.Create(hashAnswer);
            work.Save();
        }
开发者ID:TarasKanf,项目名称:IntegralEquationProject,代码行数:29,代码来源:CachingService.cs


示例12: IgnoresNullQueryParamArrayValuesWhenUsingToString

 public void IgnoresNullQueryParamArrayValuesWhenUsingToString()
 {
     var requestInfo = new RequestInfo(HttpMethod.Get, null);
     requestInfo.AddQueryCollectionParameter<object>(QuerySerializationMethod.ToString, "foo", new[] { "bar", null, "baz" });
     var uri = this.requester.ConstructUri("/foo", requestInfo);
     Assert.Equal(new Uri("http://api.example.com/base/foo?foo=bar&foo=baz"), uri);
 }
开发者ID:modulexcite,项目名称:RestEase,代码行数:7,代码来源:QueryParameterTests.cs


示例13: Execute

 public HttpResponse Execute(RequestInfo req)
 {
     var o = Activator.CreateInstance(_mi.DeclaringType);
     var prms = new object[_binders.Length];
     for(var i = 0 ; i<_binders.Length ; ++i)
     {
         prms[i] = _binders[i](req);
     }
     try
     {
         return _mi.Invoke(o, prms) as HttpResponse;
     }
     catch (TargetInvocationException e)
     {
         throw e.InnerException;
     }
     catch(ArgumentException e)
     {
         return new HttpResponse(HttpStatusCode.BadRequest, new TextContent(e.Message));
     }
     catch(InvalidOperationException e)
     {
         return new HttpResponse(HttpStatusCode.InternalServerError, new TextContent(e.Message));
     }
 }
开发者ID:LuisLoureiro,项目名称:isel-leic-pi-1112si,代码行数:25,代码来源:MethodBasedCommand.cs


示例14: SetsContentNullIfBodyParameterInfoNull

 public void SetsContentNullIfBodyParameterInfoNull()
 {
     var requestInfo = new RequestInfo(HttpMethod.Get, "foo");
     // Not calling SetBodyParameterInfo
     var content = this.requester.ConstructContent(requestInfo);
     Assert.Null(content);
 }
开发者ID:modulexcite,项目名称:RestEase,代码行数:7,代码来源:ContentConstructionTests.cs


示例15: AddRequestInfo

        /// <summary>
        /// Adds the request info to the event.
        /// </summary>
        public static void AddRequestInfo(this Event ev, RequestInfo request)
        {
            if (request == null)
                return;

            ev.Data[Event.KnownDataKeys.RequestInfo] = request;
        }
开发者ID:arpitgold,项目名称:Exceptionless,代码行数:10,代码来源:EventExtensions.cs


示例16: ChannelHandler

        internal ChannelHandler(MessageVersion messageVersion, IChannelBinder binder, ServiceChannel channel)
        {
            ClientRuntime clientRuntime = channel.ClientRuntime;

            _messageVersion = messageVersion;
            _isManualAddressing = clientRuntime.ManualAddressing;
            _binder = binder;
            _channel = channel;

            _isConcurrent = true;
            _duplexBinder = binder as DuplexChannelBinder;
            _hasSession = binder.HasSession;
            _isCallback = true;

            DispatchRuntime dispatchRuntime = clientRuntime.DispatchRuntime;
            if (dispatchRuntime == null)
            {
                _receiver = new ErrorHandlingReceiver(binder, null);
            }
            else
            {
                _receiver = new ErrorHandlingReceiver(binder, dispatchRuntime.ChannelDispatcher);
            }
            _requestInfo = new RequestInfo(this);
        }
开发者ID:SoumikMukherjeeDOTNET,项目名称:wcf,代码行数:25,代码来源:ChannelHandler.cs


示例17: TreatsNullPathParamsAsEmpty

 public void TreatsNullPathParamsAsEmpty()
 {
     var requestInfo = new RequestInfo(HttpMethod.Get, "/foo/{bar}/baz");
     requestInfo.AddPathParameter<int?>("bar", null);
     var uri = this.requester.SubstitutePathParameters(requestInfo);
     Assert.Equal("/foo//baz", uri);
 }
开发者ID:modulexcite,项目名称:RestEase,代码行数:7,代码来源:PathParameterTests.cs


示例18: SubstitutesMultiplePathParametersOfTheSameType

 public void SubstitutesMultiplePathParametersOfTheSameType()
 {
     var requestInfo = new RequestInfo(HttpMethod.Get, "/foo/{bar}/{bar}");
     requestInfo.AddPathParameter("bar", "yay");
     var uri = this.requester.SubstitutePathParameters(requestInfo);
     Assert.Equal("/foo/yay/yay", uri);
 }
开发者ID:modulexcite,项目名称:RestEase,代码行数:7,代码来源:PathParameterTests.cs


示例19: Process

 public HttpResponse Process(RequestInfo requestInfo)
 {
     var ctx = requestInfo.Context;
     Trace.TraceInformation("[LogFilter]: Request for URI '{0}'", ctx.Request.Url);
     var resp = _nextFilter.Process(requestInfo);
     Trace.TraceInformation("[LogFilter]: User '{0}'", requestInfo.User != null ? requestInfo.User.Identity.Name : String.Empty);
     return resp;
 }
开发者ID:driverpt,项目名称:PI-1112SV,代码行数:8,代码来源:RequestConsoleLogFilter.cs


示例20: SetsContentAsStringContentIfBodyIsString

        public void SetsContentAsStringContentIfBodyIsString()
        {
            var requestInfo = new RequestInfo(HttpMethod.Get, "foo");
            requestInfo.SetBodyParameterInfo(BodySerializationMethod.Serialized, "hello");
            var content = this.requester.ConstructContent(requestInfo);

            Assert.IsType<StringContent>(content);
        }
开发者ID:modulexcite,项目名称:RestEase,代码行数:8,代码来源:ContentConstructionTests.cs



注:本文中的RequestInfo类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# RequestMessage类代码示例发布时间:2022-05-24
下一篇:
C# RequestHeaders类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap