草庐IT

listings_controller

全部标签

c# - 服务 Controller 权限

我编写了一个服务,网站可以使用ExecuteCommand方法远程执行命令。我注意到,如果网站不是在远程计算机上的管理员用户下运行,那么我在尝试执行命令时会收到权限被拒绝的异常。servicecontroller类甚至不允许您指定任何身份验证参数。这是正确的吗?是否有用户需要的一组特定权限而不是管理员权限,因为我不愿意将我们集群中的所有网络服务器用户添加为服务机器上的本地管理员? 最佳答案 您必须暂时为当前线程模拟管理员用户,然后恢复。查找WindowsIdentity.Impersonate()在MSDN中。ServiceCont

c# - List<int> 需要很长时间才能使用 Nhibernate Criteria 进行实例化

我有这个查询,它返回7行并在数据库中花费4毫秒,但在实例化时花费1075毫秒。这只是时代的一个例子,它因对象而异,但花费这么长时间似乎没有意义。关于如何提高速度的任何指示?varcriteria=GetSession().CreateSQLQuery(@"selectcirct_idasCircuitIdfromnormal_upstreamwheredni_equip_type='A'startwithup_equip_stn_noin(:UpStationNo1)connectbypriorequip_stn_no=up_equip_stn_nounionselectcirct_i

c# - 如何对 List<T> 使用 BinarySearch

让我们从ListBinarySearch的重载开始:publicintBinarySearch(Titem,IComparercomparer);众所周知,在使用BinarySearch之前,应该使用适当的IComparer对列表进行排序。但是然后:要搜索列表,您将必须提供一个T项。当人们习惯于根据项目的属性搜索列表中的项目(即使用Linq或委托(delegate)/谓词)时,这是相当出乎意料的。因为当我已经有了我的T项目时,我就不需要搜索它了!现在我在C#中实现C++代码,看到C++程序员在他的代码中到处使用C++风格的二进制搜索,如下所示。首先他制作了一个新的Titem,并赋予了这

c# - 是否可以使用数据注释来验证传递给 Controller ​​的 Action 方法的参数?

我正在使用数据注释来验证我在ASP.NETMVC中的模型。这适用于具有复杂参数的操作方法,例如,publicclassParams{[Required]stringParam1{get;set;}[StringLength(50)]stringParam2{get;set;}}ActionResultMyAction(Paramsparams){If(ModeState.IsValid){//DoSomething}}如果我想将单个字符串传递给操作方法(如下所示)怎么办?有没有一种方法可以使用数据注释,或者我是否必须将字符串包装到一个类中?ActionResultMyAction(st

c# - 在 Web.API Controller 中自动反序列化为类似字符串的类

我有一个Web.API端点,它将这样的对象作为参数:publicclassPerson{publicstringFirstName{get;set;}publicstringLastName{get;set;}publicintAge{get;set;}publicUserNameUserName{get;set;}}例如:[Route("api/person")][AcceptVerbs("POST")]publicvoidUpdatePerson(Personperson){//etc.}(这只是一个例子-我们实际上并没有通过我们的Web.API端点接受用户名)我们的UserNam

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

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

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# - List<Task> - 使用 C# Entity Framework 的 UPSERT 数据库记录

我有一个Employee对象,我正在尝试使用单个DB实体上下文使用多个任务(并行执行)来更新记录(即更新/删除)。但是我收到以下异常Message="Objectreferencenotsettoaninstanceofanobject."考虑以下DTOpublicclassEmployee{publicintEmployeeId{get;set;}publicstringFirstName{get;set;}publicstringLastName{get;set;}publicListContactPhoneNumbers{get;set;}publicListContactEma

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