草庐IT

process-control

全部标签

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的组合枚举值(例如

c# - 如何从 url 或路由数据中获取 Controller 类型和操作信息?

在给定System.Web.Routing.RouteData的情况下,如何获取将要调用的Controller操作(方法)和Controller类型?我的场景是这样的-我希望能够在OnActionExecuting方法中执行(或不执行)某个操作的某些操作。但是,我经常想知道的不是当前操作,而是被调用的“根”操作;我的意思是我可能有一个名为“登录”的View,这是我的登录页面。此View可能包括另一个局部View“LeftNav”。当为LeftNav调用OnActionExecuting时,我希望能够确定它确实是为Login的“根”aciton调用的。我意识到通过调用RouteTable

c# - 你能在 Controller 中使用泛型方法吗?

是否可以在Controller中使用泛型方法?我在谈论这样的事情:[HttpPost]publicvoidDoSomething([FromBody]SomeGenericClasssomeGenericObject){SomePrivateMethod(someGenericObject);}我实际上已经尝试了上面的方法(尽管所有的名称都不同)并发布到Api//DoSomething使用someGenericObject的实例在请求正文中,它没有工作(即它没有到达Controller)。我猜测WebAPI路由无法解析泛型方法,因为它们可能会导致下面不同类型的不同方法。但这正是我的想法

c# - Process.Start() 什么时候可以返回 null?

我有一些代码通过使用Process.Start(ProcessStartInfo)来启动一个进程.我从文档中看到,如果重用现有流程,此方法可以返回null。[Returnsa]newProcesscomponentthatisassociatedwiththeprocessresource,ornullifnoprocessresourceisstarted(forexample,ifanexistingprocessisreused).重用现有流程意味着什么,在什么情况下会发生这种情况? 最佳答案 如果您调用pass一个文件(不是

c# - 每种角色类型的不同默认页面/ Controller - MVC 5

所以我的问题如下(MVC5):我有几种类型的默认页面,我想在我的应用程序启动时启动。1-匿名用户2...5-对于自动记录的其他用户角色(cookie)。所以这几乎是一个简单的“如果”,我知道,但与此同时我正在使用不能在RouteConfig.csUser.IsInRole("RoleName")方法/strong>.如果只是简单地添加一个Using语句,我提前为问题的简单性道歉。更新:我已经通过一些方法做到了:if(User.UserInRole("RoleName")在我的默认ActionResault中返回RedirectToAction("ActionName")。虽然这不是一个

c# - 等效于没有单独参数的 Process.Start()

我正在编写一个需要运行任意命令的简单应用程序,例如:powershell-Filemyscript.ps1cmd/C"pinglocalhost"Process.Start()将是完美的,除非它要求参数作为单独的参数给出。最初我以为我可以只在第一个空格字符上拆分字符串,但是如果可执行文件路径被引用并包含空格怎么办?有没有像Process.Start()这样的东西,它允许您只给它一个字符串,有或没有参数,然后让它执行它,就像它被粘贴到命令提示符一样? 最佳答案 为什么不直接通过cmd/C运行所有内容?Process.Start("cm

c# - Web API 2/MVC 5 : Attribute Routing passing parameters as querystring to target different actions on same controller

我一直在玩新的WebAPI2(顺便说一句,它看起来很有前途),但我有点头疼要让一些路由正常工作。当我有GetAllUsers/GetUser(intid)时一切正常,但是当我添加GetUserByName(stringname)和/或GetUserByUsername(stringusername)时,事情开始变得令人毛骨悚然。我知道int将是第一个,我可以重新排序路由,但让我们想象一下以下场景:用户可以有一个有效的username=1234或name=1234(我知道这不太可能,但我们需要防止任何可能的情况)并且我们可能有一个有效的1234数据库中的ID和所有路由将混淆。也许这是我们

c# - Process.Start(url) 失败

我有一个针对.NET2.0的WinForms应用程序。我们有一份报告说我们的一个按钮不起作用,它所做的只是在他们的默认浏览器中打开一个网页。查看日志我可以看到Process.Start()失败,因为它找不到文件。问题是我们将一个字符串url传递给Start()方法,所以我不明白为什么它会生成此消息。这是日志中的异常:System.ComponentModel.Win32Exception:ThesystemcannotfindthefilespecifiedatSystem.Diagnostics.Process.StartWithShellExecuteEx(ProcessStart

c# - 使用 Owin 自主机时从 WebApi Controller 抛出 HttpResponseException

我们正在构建一个使用Owin托管的WebApi。以前,我们在Controller操作中使用HttpResponseException返回404状态代码等,并且运行良好。但是,当我们开始使用Owin(自托管)时,我们遇到了这种方法的问题,导致HttpResponseException被序列化为json/xml并且状态代码从404更改为500(内部服务器错误)。这是我们的代码:publicclassInvoicesController:ApiController{privatereadonlyIInvoiceRepository_invoiceRepository;publicInvoic