草庐IT

microsoft-common-controls

全部标签

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# - .NET Core 中 Microsoft Fakes 的任何替代方案?

我正在寻找.NETCore中MicrosoftFakes的替代品。我知道.NETCore不再支持它。我只是不明白为什么不,我认为在某些情况下这是一个很好的解决方案。我的问题是我想模拟DateTime.Now。以前您可以使用以下代码执行此操作:System.Fakes.ShimDateTime.NowGet=()=>{returnnewDateTime(2000,1,1);};它在Microsoft文档中有描述,请参阅链接以获取更多信息:https://learn.microsoft.com/en-us/visualstudio/test/using-shims-to-isolate-y

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# - Base Controller ASP.NET MVC 3 中的这个 Custom Principal 是不是非常低效?

尽管我已经在这里待了一段时间,但这是我关于SO的第一个问题,所以请多多包涵。我正在使用ASP.NETMVC3并且我想创建一个自定义的Principal这样我就可以存储比标准更多的关于当前用户的信息因此不必经常去数据库。这是我追求的相当标准的东西。我们先说电子邮件地址和用户ID。我决定将对象存储在缓存中,因为我知道不建议将其存储在session中。我也不想一直转换User对象,所以我想覆盖Controller中的User对象。所以我可以直接访问User.UserId并得到一些保证。所以我创建了一个这样的自定义主体:publicclassMyPrincipal:IPrincipal{pub

c# - 从 ApiController 和 Action 名称中获取 Url,在包含 Controllers 和 ApiControllers 的项目中

现有项目的Controller继承自:Controller:RouteTable.Routes.MapRoutewith"{controller}/{action}/{id}"。ApiController:GlobalConfiguration.Configure并在回调MapRoute中使用"api/{controller}/{id}"。一切正常,但我需要为这两种类型的Controller中的操作方法生成URL。鉴于:继承自其中任何一个的Controller的名称或类型,以及一个Action方法名那么从网站端,如何为WebAPI端生成正确的URL?我现在正在使用反射来获取操作和Con

c# - Microsoft 集合指南 : Confused about several parts

我正在查看Microsoft的GuidelinesforCollections我发现有几个部分很难理解:X不要使用ArrayList或List在公共(public)API中。这是否意味着我应该避免返回List完全一样,或者我可以将其作为IEnumerable返回/IList,但没有明确表示为List?✓请尽可能使用最不专业的类型作为参数类型。大多数以集合为参数的成员使用IEnumerable接口(interface)。在看到ReSharper提示“可能对IEnumerable进行多重枚举”之后,我认为采用(并返回)ICollection是一个更好的主意。当我期待一个预先计算的、有限的对

c# - ASP.NET MVC : Structuring Controllers

所以我开始了一个ASP.NETMVC项目,虽然整体体验不错,但我对我的Controller变得一团糟感到不太满意。我在网上四处看看(CodeCampServer等),它们似乎都遇到了同样的问题,其中Controller方法非常一致地违反了SRP(单一责任原则)——例如,如果请求是,Controller方法只呈现ViewGET但如果是POST则更新model。现在我有Controller方法负责整个应用程序中的多个逻辑路由-假设它检查在表单上单击了哪个button并相应地执行操作。我可以使用JavaScript将每个按钮点击重定向到不同的表单操作,但也感觉不对...另一个大问题是魔法字符

c# - 使用 Control+Plus 的快捷方式创建 MenuItem – 使用反射修改 MenuItem 的私有(private)字段是最好的方法吗?

我正在使用旧版MainMenucontrol(withMenuItems)controlinanapplication,andwouldliketoimplementzoominandzoomoutmenuitems(withControl++和Control+-键盘快捷键)。(请注意,我使用的是MainMenu而不是MenuStrip)。MenuItem确实有一个Shortcut属性,类型Shortcut,但它没有CtrlPlus选项。我决定看看如何Shortcutwasimplementedinthereferencesource,看起来每个枚举值只是几个Keys的组合枚举值(例如