草庐IT

asp-controller

全部标签

c# - ASP.NET MVC 全局错误处理

我有一个自定义的HandleError属性,用于处理MVC管道上的错误;我的Global.asax上有一个protectedvoidApplication_Error(objectsender,EventArgse)方法,它处理来自管道外部的错误。我遇到过一种我不知道可能发生的情况;在实现DI时,存在对connectionString的依赖,它取自应用程序配置文件。由于连接字符串还不存在,创建Controller时会出现错误,这通常会触发Application_Error处理程序,并呈现正确的错误页面(通过将部分View呈现为字符串并将其作为响应发送,如果失败,它只会将“致命异常”写入

c# - 如何在 ASP.NET MVC 中保持 Controller 较小?

我有一个设计得很好的架构,其中Controller转到访问与数据库通信的存储库的服务。因此,Controller中的逻辑保持在最低限度,但我仍然有非常微妙的代码片段来执行一些任务,例如验证模型安排Action方法参数使用这些参数调用一些服务,如果模型现在无效,可能会验证结果并返回View最终根据服务的结果生成一个模型,并将其返回。一些较长的案例根据服务返回的“状态”做不同的事情。举几个例子:[HttpPost][AjaxOnly][Authorize]publicJsonResultPreview(stringinput){LinkResultparsed=linkService.Pa

c# - ASP.NET MVC4 多语言数据注解

在标准应用程序中,我有以下内容:[Required][DisplayName("EmailAddress")]publicstringEmailAddress{get;set;}...这反过来会自动为这个表单域生成一个英文标签。现在,如果我需要我的应用程序支持5种语言,ASP.NETMVC应用程序处理此问题的最佳方法是什么?适用范围约400-600个数据字段。更新:我还需要支持更新应用程序中的小部分文本,例如页面名称和每个表单的介绍(小段落)。 最佳答案 不是将实际值分配给属性特性,而是为资源字符串分配键。然后,您可以使用自定义Mo

c# - 使用 ASP NET MVC 4 和 webapi 的自定义 http 处理程序和路由处理程序

我正在研究ASPNETMVC4和WebApi。移动设备将使用webapi方法。我们需要保护服务,我们正在使用的是以某种特定方式加密数据。现在,我需要在到达Controller之前解密调用。如果解密的信息有效,它应该像往常一样继续到Controller,如果不是,我会将用户路由到一些错误方法。要实现这一点,我认为最好的办法是自定义HttpHandler和自定义RouteHandler。我正在学习教程herepublicclassMvcSecurityRouteHandler:IRouteHandler{publicSystem.Web.IHttpHandlerGetHttpHandler

c# - 为 WebApi Controller 配置请求超时

我在我的WebAPIController中使用异步方法:publicasyncTaskSampleMethod(intsubscriptionNumber,DateTimedepartureDate){//[...]}如何配置请求超时?该操作最多可能需要几分钟,我必须确保请求不会超时。在MVC中有一个名为[AsyncTimeout]的属性。WebApi中是否有等效项?可以全局配置吗? 最佳答案 好问题,我建议从客户端处理这个问题——您始终可以在您的消费者代码中指定超时设置,即使它是ajax:$.ajax({url:"/ajax_js

c# - 仅为特定路由或 Controller 需要 SSL 客户端证书

我有一个使用Kestrel作为服务器的ASP.NETMVCCore项目。它既提供用户内容(asp.netmvc)又托管代理(软件)与之通信的WebAPIController。我启用了HTTPS和客户端证书支持。问题是我想为调用WebAPI的代理(软件)要求客户端证书,但我不想为基于浏览器的常规用户要求/提示客户端证书。我已通过以下方式启用HTTPS/客户端证书支持:varhost=newWebHostBuilder().UseKestrel(options=>{HttpsConnectionFilterOptionshttpsoptions=newHttpsConnectionFilt

c# - 更改单个 ASP.NET Core Controller 的 JSON 序列化设置

我有两个ControllerController:ControllerA和ControllerB。每个Controller的基类是Controller。ControllerA需要以默认格式(camelCase)返回JSON。ControllerB需要以不同的JSON格式返回数据:snake_case。如何在ASP.NETCore3.x和2.1中实现它?我尝试了startup:services.AddMvc().AddJsonOptions(options=>{options.SerializerSettings.Converters.Add(newStringEnumConverter

c# - 表格没有击中 Controller

编辑了问题,因为我发现问题不在Razor内部,而是在route我有一个非常简单的登录表单,但不知何故,当用户按下“登录”时,页面出现错误404,并且由于某种原因它根本没有命中Controller断点。@using(Html.BeginRouteForm("MyCustomRoute",new{controller="login",action="verify",FormMethod.Post})){@Html.TextBoxFor(m=>m.UserName,new{@class="form-control",placeholder="Username",onkeydown="conv

c# - 虚拟目录中的 ASP.NET MVC

我的Global.asax.cs中有以下内容routes.MapRoute("Arrival","{partnerID}",new{controller="Search",action="Index",partnerID="1000"});routes.MapRoute("Default","{controller}/{action}/{id}",new{controller="Home",action="Index",id=""});我的SearchController看起来像这样publicclassSearchController:Controller{//Displaysear

c# - 如何在使用 Active Directory 角色和身份验证提供程序时提供 ASP.NET 表单例份验证 UX?

是否可以使用此角色提供程序AspNetWindowsTokenRoleProvider使用ASP.NETFORMS身份验证(通过此MembershipProviderSystem.Web.Security.ActiveDirectoryMembershipProvider)?它似乎只适用于,是否可以与FORMS一起使用?背景--此处的目标是在使用ActiveDirectory作为后端身份验证系统的同时提供ASP.NETFormsUX。如果有另一种使用内置技术轻松完成此操作的方法,那就太好了,我也想听听。更新我应该说我有身份验证工作,我正在努力的是添加一定程度的精细控制(例如角色)。目前