Tag: asp.net core mvc

如何关闭ASP.NET核心框架完成的日志记录

如何为每个请求关闭ASP.NET完成的日志记录,例如: INFO 09:38:41用户个人资料可用。 使用’C:\ Users \ xxxx xxxx \ AppData \ Local \ ASP.NET \ DataProtection-Keys’作为密钥存储库,使用Windows DPAPI加密静态密钥。 DEBUG 09:38:41主持开始 DEBUG 09:38:41主持人开始了 INFO 09:38:41请求启动HTTP / 1.1 GET http:// localhost:23369 / INFO 09:38:41请求启动HTTP / 1.1 DEBUG http:// localhost:23369 / text / html DEBUG 09:38:41不支持DEBUG请求 DEBUG 09:38:41请求路径/与支持的文件类型不匹配 DEBUG 09:38:41请求成功匹配路线名称’default’和模板'{controller = Home} / {action = Index} / {id?}’。 DEBUG […]

ASP.NET 5 / MVC 6 Ajax将模型发布到控制器

在我的ASP.NET 5 MVC 6应用程序中,我想用Ajax将一些数据发布到我的控制器。 我已经使用ASP.NET MVC 5完成了这项工作,并且我在一个空白的ASP.NET MVC 5项目中测试了完全相同的代码并且它可以工作,但是新版本我不能,我不知道为什么。 通过Ajax调用,我可以转到控制器,创建模型但字段为空(或布尔值为false)。 这是我的代码: script.js: var data = { model: { UserName: ‘Test’, Password: ‘Test’, RememberMe: true } }; $.ajax({ type: “POST”, url: “/Account/Login/”, data: JSON.stringify(data), contentType: “application/json; charset=utf-8”, dataType: “json”, success: function (msg) { // Do something interesting here. } }); AccountController.cs: [HttpPost] public JsonResult Login(LoginViewModel model) […]

ASPNET核心服务器发送事件/响应刷新

虽然没有官方文档,但是有谁知道如何使用ASP.NET Core实现SSE? 我怀疑一个实现可能会使用自定义中间件,但也许可以在控制器操作中执行此操作?

处理ASP.NET Core 1.0上的大型文件上传

当我在ASP.NET Core中将大文件上传到我的web api时,运行时会在我处理和存储上传的函数被触发之前将文件加载到内存中。 对于大型上传,这会成为一个问题,因为它既慢又需要更多内存。 对于以前版本的ASP.NET ,有一些关于如何禁用缓冲请求的文章,但我无法找到有关如何使用ASP.NET Core执行此操作的任何信息。 是否可以禁用缓冲请求,以便我的服务器上的内存不会一直耗尽?

使用Entity Framework Core从Newtonsoft JsonSerializer自我引用循环

我遇到了错误: JsonSerializationException:为类型为“Project.Models.Subject”的属性“Subject”检测到自引用循环。 路径’数据[0]。总计’。 当我使用由IEnumerable模型填充的dataGrid加载View时,会发生这种情况。 Grid是一个绑定到View模型的DevExtreme DataGrid,如下所示: @(Html.DevExtreme().DataGrid() .DataSource(Model) .Paging(paging => { paging.Enabled(true); paging.PageIndex(0); paging.PageSize(20); }) .Columns(columns => { columns.Add().DataField(“SubjectId”); … other fields }) ) 这是从Controller中填充的,该控制器使用此function从存储库中提取数据: public async Task<IEnumerable> GetSubjectsAsync() { return await _context.Subject.ToListAsync(); } Subject表与Totals具有1:1的关系,Totals具有对Subject的外键引用。 项目中的模型看起来像这样(从Scaffold-DbContext生成): public partial class Subject { public Guid SubjectId { get; set; } public virtual Totals Totals { get; set; […]

基于Http Header值的ASP.NET MVC5 / 6路由

假设我有一个最基本的控制器 public class HomeController : Controller { public ActionResult Index(string id, string language) { return View(); } } 其中包含2个参数。 但是,有一个要求是调用action方法的客户端应该从URL传递id值,而从http头传递language值。 这意味着url应该是/Home/Index/12345 ,同时调用客户端将设置一个Http Header值language : en 。 如何在MVC5或MVC6中设置路由以达到要求? 请不要提供Web Api的样本。 谢谢

从Startup类访问Configuration对象

我想从我的ASP.NET vNext项目中的许多控制器中访问我公司的Active Directory,并将域名插入到我的config.json文件中,因此我可以从Configuration类访问它。 我发现每次想要访问我的config.json时总是实例化一个新的Configuration对象很重,有没有办法通过IConfiguration API来访问初始化为Startup类的Configuration类?

ASP.NET 5:响应中的Access-Control-Allow-Origin

根据我的理解,当相应地启用CORS时,响应模型应包括以下头信息(假设我想允许所有内容): Access-Control-Allow-Origin: * Access-Control-Allow-Method: * Access-Control-Allow-Header: * 在Startup启用它: public void ConfigureServices(IServiceCollection services) { //… services.AddCors(); services.ConfigureCors(options => { options.AddPolicy(“AllowAll”, p => p.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().AllowCredentials()); }); //… } public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { //… app.UseCors(“AllowAll”); //… } 问题是这些头文件都没有返回,并且在尝试从API请求时出现以下错误: 对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 因此不允许Origin’http:// localhost ‘访问。

无法将数据写入传输。 Vs2017 ASP.net核心脚手架(MSSQL WINDOW 10)

我试图通过脚手架创建一个控制器。 但是我收到了这个错误 运行所选代码生成器时出错。 无法将数据写入传输。已建立的连接已被主机中的软件中止 我正在使用ASP.NET CORE,Visual Studio 2017,SqlServer,Window 10 几天来,我没有幸运地解决这个问题 有人可以帮忙吗?

找不到Microsoft.AspNetCore.Antiforgery

我正在将IIS.net核心2.0网站部署到IIS 10。 我确保我的应用程序在program.settings文件中使用了正确的ISS配置。 public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup() .Build(); } 在我的startup.cs文件中: public void ConfigureServices(IServiceCollection services) { services.Configure(options => { }); services.AddMvc(); } 然而,当我从命令行运行dotnet website.dll时,我收到命令行窗口中显示的以下错误消息: 未找到应用程序依赖项清单(website.deps.json)中指定的程序集:package:’Microsoft.AspNetCore.Antiforgery’,version:’2.0.1’path:’lib / netstandard2.0 / Microsoft.AspNetCore.Antiforgery .dll’当使用以下目标清单文件发布应用程序时,此程序集应位于本地运行时存储中:aspnetcore-store-2.0.3.xml 基于错误消息,我猜测Microsoft.AspNetCore.Antiforgery在我发布时没有捆绑,因为我在调试时没有收到此错误。 如何确保我的应用程序在发布到实时环境时能够找到Microsoft.AspNetCore.Antiforgery? 编辑:这是一个基本的.net核心网站。 除了使用IIS进行部署的上述更改之外,此时未对标准项目进行任何更改。 当我从IIS而不是命令行运行项目时,我收到502.5错误消息。