草庐IT

asp-controller

全部标签

c# - 如何部署具有多个区域的 asp.net mvc 4 应用程序

我关注了this制作可插入的asp.netmvc4应用程序的文章但是在部署应用程序时遇到问题。在我的解决方案中,MainProj是主项目,所有其他项目都在area文件夹中。每个项目都有其模型、View和Controller。我已经在MainProj中给出了所有子项目(区域文件夹中的项目)的引用。现在,当尝试部署MainProj时,它仅发布主项目及其View(在本例中为MainProj),区域文件夹中的项目未部署(例如:Cart、CRM)。即使我在主项目(MainProj)中添加区域(exCRM)中项目的引用,也只有区域(exCRM)中项目的ddl部署在bin文件夹中,区域(CRM)中没

c# - ASP.NET MVC(异步)CurrentCulture 不在 Controller 和 View 之间共享

我有一个以.NETFramework4.7.1为目标的ASP.NETMVC4应用程序,如果操作包含异步调用,则存在文化在Controller和View之间不共享的问题。我正在引用NuGet包Microsoft.AspNet.Mvc5.2.3(并且可以在5.2.4中复制)。这是Controller中的代码:publicclassCulturesTestController:Controller{publicasyncTaskIndex(stringvalue){Thread.CurrentThread.CurrentCulture=CultureInfo.GetCultureInfo("

c# - ASP.NET Core 2.1 中的数据保护仅适用于一台机器

我正在使用ASP.NETCoreDataProtectionsystem使用应用程序A加密数据并使用应用程序B解密数据。在开发机器上运行时,加密和解密都可以工作,但是当应用程序B移动到生产机器时,它不再能够解密,因为IDataProtector.Unprotect方法抛出异常:System.InvalidOperationException:Thekeyringdoesnotcontainavaliddefaultprotectionkey.Thedataprotectionsystemcannotcreateanewkeybecauseauto-generationofkeysisd

c# - 嵌套 $expands 的 Asp.net WebApi OData V4 问题

我在Asp.netWebApi(OWIN)上有一个ODataV4。一切都很好,除了当我尝试查询4​​级$expand时。我的查询如下:http://domain/entity1($expand=entity2($expand=entity3($expand=entity4)))我没有收到任何错误,但我的响应中没有预测最后一次展开。更多信息:我已将MaxExpandDepth设置为10。我所有的实体都是EntitySets。我正在使用ODataConventionModelBuilder。我打开了一个SQL分析器,可以看到查询(和结果)是正确的。它是在执行查询后发生的一些过滤器。我在网上

c# - 在 Controller 级别设置 NullValueHandling

目前,我想从我的api响应中排除空值,所以在我的startup.cs文件中,我有这个。services.AddMvc().AddJsonOptions(options=>{//Setupjsonserializeroptions.SerializerSettings.ContractResolver=newCamelCasePropertyNamesContractResolver();options.SerializerSettings.NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore;});但是是否可以声明在1个或

c# - Visual Studio 2017 使用 C# 7.2 发布 ASP.NET Core 应用程序

我有一个使用publicstaticasyncTaskMain()的Asp.NetMVCCore网站。为此,我已将调试和发布构建配置的语言版本设置为C#7.2(在属性->构建->高级对话框中,在csproj中仔细检查)。应用程序在调试和Release模式下都能正常构建和启动。现在,我尝试直接从VisualStudio201715.5.2(使用WebDeploy)将它发布到Azure网站,我得到了这个:Program.cs(17,29):ErrorCS8107:Feature'asyncmain'isnotavailableinC#7.0.Pleaseuselanguageversion

c# - 如何获取 ASP.NET Core 中已注册中间件的列表?

在ASP.NETCore中,您可以在用于Web主机构建器的启动类的Configure方法期间通过使用app.使用中间件(...)。但是,在调试期间,我如何获得已注册中间件提供者的列表?我看不到任何实际查看已为应用程序注册的中间件的方法。 最佳答案 从另一个人指出的问题与这个问题非常相似:由于某种原因,中间件列表并未公开。但是,在Debug模式下,可以通过检查IApplicationBuilderapp来获得它。Configure执行期间的变量方法,特别是_components非公共(public)成员。此非公开成员是IList>,包

c# - 服务 Controller 权限

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

c# - ASP.NET MVC POST 错误地返回 HTTP 302

我找遍了,找不到这个问题的答案。我在ASP.NETMVC4中有一个简单的测试Controller,设置如下:publicclassTestController{[HttpGet]publicActionResultIndex(){MyModelmodel=newMyModel();model.Debug+="GETMethod";returnView(model);}[HttpPost]publicActionResultPost(MyModelmodel){model.Debug+="POSTMethod";returnView("Index",model);}}IndexView只

c# - AspNetSynchronizationContext 并等待 ASP.NET 中的延续

我注意到在异步ASP.NETWebAPIController方法中的await之后有一个意外的(我会说是冗余的)线程切换。例如,下面我希望在位置#2和3#看到相同的ManagedThreadId,但大多数情况下我在#3看到不同的线程:publicclassTestController:ApiController{publicasyncTaskGetData(){Debug.WriteLine(new{where="1)beforeawait",thread=Thread.CurrentThread.ManagedThreadId,context=SynchronizationConte