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

C# HttpError类代码示例

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

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



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

示例1: Get

        /// <summary>
        /// GET: api/Widget/{title}. Return search results. Empty string gives zero length result.
        /// </summary>
        public HttpResponseMessage Get(string title)
        {
            var bvms = new List<BookViewModel>();
            //var results = new List<KeyValuePair<string, List<string>>>(); // Title, authors
            var results = new List<WidgetResponseRow>();

            if (title != "")
            {
                try
                {
                    bvms = BookServices.SearchBooks(title);
                    foreach (var bvm in bvms)
                    {
                        results.Add(new WidgetResponseRow(bvm.ISBN, bvm.Title, bvm.Authors.Select(i => i.Value).ToList()));
                    }
                }
                catch (DataAccessException)
                {
                    var error = new HttpError("Data access error.");
                    return Request.CreateResponse(HttpStatusCode.InternalServerError, error);
                }
            }

            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, results);
            response.ReasonPhrase = "OK";

            return response;
        }
开发者ID:nissafors,项目名称:Bibblan,代码行数:31,代码来源:WidgetController.cs


示例2: HandleUnauthorizedRequest

 protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
 {
     // http://blogs.msdn.com/b/youssefm/archive/2012/06/28/error-handling-in-asp-net-webapi.aspx
     var message = string.Format("No HTTP resource was found that matches the request URI '{0}'.", actionContext.Request.RequestUri);
     var error = new HttpError(message);
     actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.NotFound, error);
 }
开发者ID:ehsan-davoudi,项目名称:webstack,代码行数:7,代码来源:InternalAuthorizeAttribute.cs


示例3: Delete

        public HttpResponseMessage Delete(string idUser, string emailUser, string passwordUser, string userRegistration, string statusUser)
        {
            try
            {
                User user = new User();
                DateTime now = DateTime.Now;
                #region Atribuir/valorizar modelo
                if (!String.IsNullOrWhiteSpace(idUser))
                    user.IdUser = Convert.ToInt32(idUser);

                user.RegistrationDateUser = now;

                if (!String.IsNullOrWhiteSpace(userRegistration))
                    user.ChangeUserUser = Convert.ToInt32(userRegistration);
                #endregion

                return Request.CreateResponse(HttpStatusCode.OK, user); ;
            }
            catch (KeyNotFoundException)
            {
                string mensagem = string.Format("Não foi possível criptografar a entrada: ", emailUser);
                HttpError error = new HttpError(mensagem);
                return Request.CreateResponse(HttpStatusCode.NotFound, error);
            }
        }
开发者ID:Romulomathiasferreira,项目名称:InfoTech2u,代码行数:25,代码来源:UsersRegistrationController.cs


示例4: GetPropertyValue_GetsDefault_IfPropertyMissing

        public void GetPropertyValue_GetsDefault_IfPropertyMissing()
        {
            HttpError error = new HttpError();

            Assert.Null(error.GetPropertyValue<string>("key"));
            Assert.Equal(0, error.GetPropertyValue<int>("key"));
        }
开发者ID:ymd1223,项目名称:Mvc,代码行数:7,代码来源:HttpErrorTest.cs


示例5: ToHttpError

 public HttpError ToHttpError(params object[] args)
 {
     var http = new HttpError();
     http["Message"] = string.Format(Message, args);
     http["Type"] = Type;
     return http;
 }
开发者ID:ehsan-davoudi,项目名称:webstack,代码行数:7,代码来源:Error.cs


示例6: Get

        public HttpResponseMessage Get(string id)
        {
            try
            {
                TrataRetorno objRetorno = new TrataRetorno();
                List<Indice> Indices = new List<Indice>();
                string urlInicial = "http://finance.yahoo.com/webservice/v1/symbols/";
                string urlFinal = "/quote?format=xml&view=detail";
                string[] stringSeparators = new string[] { "," };
                string[] result;

                result = id.Split(stringSeparators, StringSplitOptions.None);
                foreach (string s in result)
                {
                    XPathDocument doc = new XPathDocument(urlInicial + s + urlFinal);
                    Indices.Add(objRetorno.TratarRetorno(doc));
                }

                return Request.CreateResponse(HttpStatusCode.OK, Indices); ;
            }
            catch (KeyNotFoundException)
            {
                string mensagem = string.Format("Não foi possível criptografar a entrada: ", id);
                HttpError error = new HttpError(mensagem);
                return Request.CreateResponse(HttpStatusCode.NotFound, error);
            }
        }
开发者ID:Romulomathiasferreira,项目名称:InfoTech2u,代码行数:27,代码来源:ConsultaFinanceYahooController.cs


示例7: Post

 public HttpResponseMessage Post(LogOnModel user)
 {
     try
     {
         Impersonate.ImpersonateUser(ConfigurationManager.AppSettings["Domain"].ToString(), user.UserName, user.Password);
         if (this.ValidateUser(user))
         {
             FormsAuthentication.SetAuthCookie(user.UserName, true);
             return Request.CreateResponse(HttpStatusCode.OK, true);
         }
         return Request.CreateResponse(HttpStatusCode.OK, false);
     }
     catch (DirectoryServicesCOMException dse)
     {
         HttpError error = new HttpError(dse.Message.Replace("\n", " ").Replace("\r", " ").Replace("\t", " "));
         return Request.CreateResponse(HttpStatusCode.Unauthorized, error);
     }
     catch (Exception)
     {
         throw;
     }
     finally
     {
         Impersonate.UndoImpersonation();
     }
 }
开发者ID:edWAR6,项目名称:API,代码行数:26,代码来源:LoginController.cs


示例8: SerializeError_serializes_httperror

        public void SerializeError_serializes_httperror()
        {
            using (var stream = new MemoryStream())
            {
                var textWriter = new StreamWriter(stream);
                var writer = new JsonTextWriter(textWriter);

                var mockInnerException = new Mock<Exception>(MockBehavior.Strict);
                mockInnerException.Setup(m => m.Message).Returns("Inner exception message");
                mockInnerException.Setup(m => m.StackTrace).Returns("Inner stack trace");

                var outerException = new Exception("Outer exception message", mockInnerException.Object);

                var error = new HttpError(outerException, true)
                {
                    StackTrace = "Outer stack trace"
                };
                var jsonSerializer = new JsonSerializer();

                var mockIdProvider = new Mock<IErrorIdProvider>(MockBehavior.Strict);
                mockIdProvider.SetupSequence(p => p.GenerateId(It.IsAny<HttpError>())).Returns("OUTER-ID").Returns("INNER-ID");

                var serializer = new ErrorSerializer(mockIdProvider.Object);
                serializer.SerializeError(error, stream, writer, jsonSerializer);

                writer.Flush();

                var expectedJson = File.ReadAllText("ErrorSerializerTest.json");
                var minifiedExpectedJson = JsonHelpers.MinifyJson(expectedJson);
                var output = System.Text.Encoding.ASCII.GetString(stream.ToArray());
                output.Should().Be(minifiedExpectedJson);
            }
        }
开发者ID:Eclarian,项目名称:JSONAPI.NET,代码行数:33,代码来源:ErrorSerializerTests.cs


示例9: OnException

 public override void OnException(HttpActionExecutedContext context)
 {
     if (context.Exception is FormValidationException)
     {
         var exception = context.Exception as FormValidationException;
         var fieldErrors = exception.FieldErrors
             .Select(x => "{ Field: " + x.Item1 + ", Error: " + x.Item2 + " }");
         var error = new HttpError(exception.Message)
         {
             { "Type", "FormValidationException"},
             { "FieldErrors", fieldErrors}
         };
         context.Response = context.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, error);
     }
     else if (context.Exception is DomainException)
     {
         var exception = context.Exception as DomainException;
         var error = new HttpError(exception.Message)
         {
             { "Type", "DomainException"},
         };
         context.Response = context.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, error);
     }
     else
     {
         var error = new HttpError("An unknown error has occurred.");
         context.Response = context.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, error);
     }
 }
开发者ID:RSmithDot,项目名称:ReactFluxDashboardProto,代码行数:29,代码来源:HandleApiExceptionAttribute.cs


示例10: Invoke

 public async override Task Invoke(IOwinContext context)
 {
     try
     {
         await Next.Invoke(context);
     }
     catch(Exception ex)
     {
         _logger.Error("Last chance exception caught.", ex);
         var headers = context.Request.Headers;
         // if server accepts json - just return json error
         if (headers.ContainsKey("Accept") && headers["Accept"].Contains("application/json"))
         {
             var includeDetail = context.Request.LocalIpAddress == context.Request.RemoteIpAddress;
             var message = new HttpError(ex, includeDetail);
             var serializerSettings = new JsonSerializerSettings
             {
                 ContractResolver = new CamelCasePropertyNamesContractResolver()
             };
             context.Response.StatusCode = 500;
             context.Response.Write(JsonConvert.SerializeObject(message, serializerSettings));
         }
         // otherwise - let the owin to return html
         else
         {
             throw;
         }
     }
 }
开发者ID:al-main,项目名称:vabank,代码行数:29,代码来源:ExceptionMiddleware.cs


示例11: ToODataInnerError

 private static ODataInnerError ToODataInnerError(HttpError httpError)
 {
     string innerErrorMessage = httpError.GetPropertyValue<string>(HttpErrorKeys.ExceptionMessageKey);
     if (innerErrorMessage == null)
     {
         string messageDetail = httpError.GetPropertyValue<string>(HttpErrorKeys.MessageDetailKey);
         if (messageDetail == null)
         {
             HttpError modelStateError = httpError.GetPropertyValue<HttpError>(HttpErrorKeys.ModelStateKey);
             return (modelStateError == null) ? null
                 : new ODataInnerError { Message = ConvertModelStateErrors(modelStateError) };
         }
         else
         {
             return new ODataInnerError() { Message = messageDetail };
         }
     }
     else
     {
         ODataInnerError innerError = new ODataInnerError();
         innerError.Message = innerErrorMessage;
         innerError.TypeName = httpError.GetPropertyValue<string>(HttpErrorKeys.ExceptionTypeKey);
         innerError.StackTrace = httpError.GetPropertyValue<string>(HttpErrorKeys.StackTraceKey);
         HttpError innerExceptionError = httpError.GetPropertyValue<HttpError>(HttpErrorKeys.InnerExceptionKey);
         if (innerExceptionError != null)
         {
             innerError.InnerError = ToODataInnerError(innerExceptionError);
         }
         return innerError;
     }
 }
开发者ID:joshcomley,项目名称:WebApi,代码行数:31,代码来源:HttpErrorExtensions.cs


示例12: Get

        // GET /api/projects/4/researchitems/5
        public virtual HttpResponseMessage Get(int projectId, int researchItemId)
        {
            var researchItems = new List<ResearchItem>();
            var project = new Project();
            try
            {
                // Verify that the user is the owner of project and research item.
                project = _projectRepository.GetByUser(projectId, User.Identity.Name);
                if (project == null)
                {
                    return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Project not found for user " + User.Identity.Name + ".");
                }
                var researchItem = _researchItemRepository.GetByUser(researchItemId, User.Identity.Name);
                if (researchItem == null)
                {
                    return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Research item not found for user " + User.Identity.Name + ".");
                }
                researchItems.Add(researchItem);
            }
            catch (Exception ex)
            {
                var error = new HttpError("Error getting research item: " + ex.Message) { { "Trace", ex.StackTrace } };
                return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, error);
            }

            var researchItemDto = new ResearchItemDto()
            {
                Meta = new ResearchItemMeta() { NumberResearchItems = researchItems.Count(), ProjectName = project.Name },
                ResearchItems = researchItems
            };

            return Request.CreateResponse<ResearchItemDto>(HttpStatusCode.OK, researchItemDto);
        }
开发者ID:vamsisridhara,项目名称:ResearchLinks,代码行数:34,代码来源:ProjectResearchItemsControllerBase.cs


示例13: ConvertModelStateErrors

        // Convert the model state errors in to a string (for debugging only).
        // This should be improved once ODataError allows more details.
        private static string ConvertModelStateErrors(HttpError error)
        {
            StringBuilder builder = new StringBuilder();
            foreach (KeyValuePair<string, object> modelStateError in error)
            {
                if (modelStateError.Value != null)
                {
                    builder.Append(modelStateError.Key);
                    builder.Append(" : ");

                    IEnumerable<string> errorMessages = modelStateError.Value as IEnumerable<string>;
                    if (errorMessages != null)
                    {
                        foreach (string errorMessage in errorMessages)
                        {
                            builder.AppendLine(errorMessage);
                        }
                    }
                    else
                    {
                        builder.AppendLine(modelStateError.Value.ToString());
                    }
                }
            }

            return builder.ToString();
        }
开发者ID:joshcomley,项目名称:WebApi,代码行数:29,代码来源:HttpErrorExtensions.cs


示例14: Post

 public HttpResponseMessage Post(LogOnModel model)
 {
     try
     {
         if (this.ValidateUser(model))
         {
             FormsAuthentication.SetAuthCookie(model.UserName,true);
             return Request.CreateResponse(HttpStatusCode.OK, true);
         }
         return Request.CreateResponse(HttpStatusCode.OK, false);
     }
     catch (DirectoryServicesCOMException dse)
     {
         HttpError error = new HttpError(dse.Message.Replace("\n", " ").Replace("\r", " ").Replace("\t", " "));
         return Request.CreateResponse(HttpStatusCode.Unauthorized, error);
     }
     catch (Exception ex)
     {
         HttpError error = new HttpError(ex.Message.Replace("\n", " ").Replace("\r", " ").Replace("\t", " "));
         EventLog log = new EventLog();
         log.Source = "Jaguar_Mobile";
         log.WriteEntry(ex.Message);
         return Request.CreateResponse(HttpStatusCode.InternalServerError, error);
     }
 }
开发者ID:edWAR6,项目名称:JaguarAPI,代码行数:25,代码来源:LoginController.cs


示例15: Get

        public HttpResponseMessage Get(int id)
        {
            var periodDetialsRequestViewModel = new PeriodDetailsRequestViewModel() { PeriodId = id };
            var serviceResponse = _periodDetailsPresenter.GetListingsByGroupId(periodDetialsRequestViewModel);
            HttpResponseMessage httpResponse;

            switch (serviceResponse.StatusCode)
            {
                case PeriodicTableStatusCodes.Success:
                    httpResponse = Request.CreateResponse(HttpStatusCode.OK, serviceResponse);
                    break;
                case PeriodicTableStatusCodes.Error:
                    var internalServiceError = PeriodicTableServerExceptionResponse.GetInternalServiceError();
                    httpResponse = Request.CreateResponse(HttpStatusCode.InternalServerError, internalServiceError);
                    break;
                default:
                    var error = new HttpError(GetCorrectErrorMessage(serviceResponse.StatusCode))
                                    {
                                        {"ErrorCode", serviceResponse.StatusCode}
                                    };
                    httpResponse = Request.CreateErrorResponse(HttpStatusCode.BadRequest, error);
                    break;
            }
            return httpResponse;
        }
开发者ID:icedage,项目名称:PeriodicTableAPI,代码行数:25,代码来源:GroupDetailsController.cs


示例16: Post

        // POST api/projects (Insert)
        public override HttpResponseMessage Post(Project project)
        {
            // Check for presence of V2 "IsUrgent" flag.
            if (project.IsUrgent == null)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "The IsUrgent indicator is required.");
            }

            try
            {
                project.UserName = User.Identity.Name;
                project.DateCreated = DateTime.Now;
                project.DateUpdated = DateTime.Now;
                _projectRepository.Insert(project);
                _projectRepository.Commit();
            }
            catch (Exception ex)
            {
                var error = new HttpError("Error inserting project: " + ex.Message) { { "Trace", ex.StackTrace } };
                return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, error);
            }
            var response = Request.CreateResponse(HttpStatusCode.Created, project);
            string uri = Url.Link("DefaultApi", new { id = project.ProjectId });
            response.Headers.Location = new Uri(uri);
            return response;
        }
开发者ID:jiristeidl,项目名称:ResearchLinks,代码行数:27,代码来源:ProjectsController.cs


示例17: Put

        // PUT api/projects/5  (Update)
        public override HttpResponseMessage Put(int id, Project project)
        {
            // Check for presence of V2 "IsUrgent" flag.
            if (project.IsUrgent == null)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "The IsUrgent indicator is required.");
            }

            var currentProject = new Project();
            try
            {
                // Verify that the user is the owner
                currentProject = _projectRepository.GetByUser(id, User.Identity.Name);
                if (currentProject == null)
                {
                    return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Project not found for user " + User.Identity.Name + ".");
                }
                currentProject.DateUpdated = DateTime.Now;
                currentProject.Name = project.Name;
                currentProject.Description = project.Description;
                currentProject.IsUrgent = project.IsUrgent;
                _projectRepository.Commit();
            }
            catch (Exception ex)
            {
                var error = new HttpError("Error updating project: " + ex.Message) { { "Trace", ex.StackTrace } };
                return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, error);
            }
            var response = Request.CreateResponse(HttpStatusCode.OK, currentProject);
            string uri = Url.Link("DefaultApi", new { id = id });
            response.Headers.Location = new Uri(uri);
            return response;
        }
开发者ID:jiristeidl,项目名称:ResearchLinks,代码行数:34,代码来源:ProjectsController.cs


示例18: GenerateErrorKey

        private string GenerateErrorKey(HttpError httpError)
        {
            var guid = System.Reflection.Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(System.Runtime.InteropServices.GuidAttribute), false)
                .Select(a => ((System.Runtime.InteropServices.GuidAttribute)a).Value)
                .FirstOrDefault();

            return "";
        }
开发者ID:mhudasch,项目名称:MvcWebApiExtensions,代码行数:8,代码来源:Extensions.cs


示例19: WriteObject_SupportsHttpError

        public void WriteObject_SupportsHttpError()
        {
            var serializer = new ODataErrorSerializer();
            var error = new HttpError("bad stuff");
            Mock<IODataResponseMessage> mockResponseMessage = new Mock<IODataResponseMessage>();
            mockResponseMessage.Setup(response => response.GetStream()).Returns(new MemoryStream());

            Assert.DoesNotThrow(() => serializer.WriteObject(error, new ODataMessageWriter(mockResponseMessage.Object), new ODataSerializerContext()));
        }
开发者ID:brianly,项目名称:aspnetwebstack,代码行数:9,代码来源:ODataErrorSerializerTest.cs


示例20: OnActionExecuting

        /// <summary>
        /// Occurs before the action method is invoked.
        /// </summary>
        /// <param name="actionContext">The action context.</param>
        public override void OnActionExecuting( HttpActionContext actionContext )
        {
            ModelStateDictionary modelState = actionContext.ModelState;

            IEntity valueArg = null;
            if ( actionContext.ActionArguments.ContainsKey( "value" ) )
            {
                valueArg = actionContext.ActionArguments["value"] as IEntity;
            }

            if ( valueArg != null )
            {
                Type entityType = actionContext.ActionArguments["value"].GetType();
                IgnoreModelErrorsAttribute ignoreModelErrorsAttribute = entityType.GetCustomAttributes( typeof( IgnoreModelErrorsAttribute ), true ).FirstOrDefault() as IgnoreModelErrorsAttribute;

                if ( ignoreModelErrorsAttribute != null )
                {
                    foreach ( string key in ignoreModelErrorsAttribute.Keys )
                    {
                        IEnumerable<string> matchingKeys = modelState.Keys.Where( x => Regex.IsMatch( x, key ) );
                        foreach ( string matchingKey in matchingKeys )
                        {
                            modelState[matchingKey].Errors.Clear();
                        }
                    }
                }
            }

            if ( !actionContext.ModelState.IsValid )
            {
                HttpError httpError = new HttpError();

                foreach ( var item in actionContext.ModelState )
                {
                    var msg = new System.Text.StringBuilder();

                    foreach ( ModelError error in item.Value.Errors )
                    {
                        if ( !string.IsNullOrWhiteSpace( error.ErrorMessage ) )
                        {
                            msg.Append( msg.Length > 0 ? "; " : "" );
                            msg.Append( error.ErrorMessage );
                        }

                        if ( error.Exception != null && !string.IsNullOrWhiteSpace( error.Exception.Message ) )
                        {
                            msg.Append( msg.Length > 0 ? "; " : "" );
                            msg.Append( error.Exception.Message );
                        }
                    }

                    httpError.Add( item.Key, msg.ToString() );
                }

                actionContext.Response = actionContext.Request.CreateErrorResponse( HttpStatusCode.BadRequest, httpError );
            }
        }
开发者ID:tcavaletto,项目名称:Rock-CentralAZ,代码行数:61,代码来源:ValidateAttribute.cs



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C# HttpFile类代码示例发布时间:2022-05-24
下一篇:
C# HttpCookie类代码示例发布时间: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