Tag: asp.net core

Asp.Net Core 2如何访问ConfigureServices中的IHostingEnvironment?

我能够访问Asp.Net Core 1.x中的ConfigureServices中的IHostingEnvironment但是在Asp.Net Core 2.0中我不能。 我试图在Startup类的构造函数中注入它,但是没有调用构造函数。 它现在被注入到动作Configure中,但是在ConfigureServices之前调用了此动作。

ASP.NET Core Identity 3 Cookie超时

RC2发生了一个奇怪的问题。 我使用以下配置选项将Identity 3 ExpireTimeSpan设置为12小时 options.Cookies.ApplicationCookie.ExpireTimeSpan = new TimeSpan(12,0,0); 登录到网站并保持不变约35-40分钟后,我收到401错误(对于我的ajaxpost调用)并刷新网站,我回到登录页面。 当我将ExpireTimeSpan设置为12小时时,为什么必须重新进行身份validation? 我需要其他设置或配置吗? 也, 如何在到期前剩下时间? 我想访问该信息,以便我可以警告我的用户他们的会话将在X时间后过期。 谢谢!

如何使用Swagger生成选项(CORS)

对于我们正在开发的项目,我们自动生成Swagger文件。 但是现在我们正在努力研究CORS部分。 我们正在使用Amazon API网关导入apifunction。 要与Swagger和CORS结合使用,我们必须在源代码中创建一个额外的操作(操作),它允许每个api方法(操作)的CORS(选项)! 例如: [HttpOptions] [Route(“{id}”)] [ProducesResponseType((int)HttpStatusCode.OK)] public IActionResult UserOptions() { return new OkResult(); } 正如您所看到的,这会使代码变得更脏。 这是一个临时修复,但我们找不到另一种方法。 有没有办法在swagger定义文件中自动生成这个? 或者我们如何做到这一点,亚马逊API网关需要这个(文档: http : //docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html )

ASP.NET 5项目不正确地针对.NET 4.6.1并且无法调试

我正在运行ASP.NET5 RC1 UPDATE1。 在project.json中,我的框架是“dnx461”。 当我尝试调试时(在IIS Express中将DNX_IIS_RUNTIME_FRAMEWORK设置为DNX461),我收到以下警告: 警告MSB3274无法解析主要引用“C:\ mydll.dll”,因为它是针对“.NETFramework,Version = v4.6.1”框架构建的。 这是比当前目标框架“.NETFramework,Version = v4.5.1”更高的版本。 WebTest C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin \ Microsoft.Common.CurrentVersion.targets “mydll”是一个.NET 4.6.1 DLL。 当我尝试使用IIS Express进行调试时,我在调试窗口中获得以下输出: ‘dnx.exe’(CLR v4.0.30319:DefaultDomain):已加载’C:\ WINDOWS \ Microsoft.Net \ assembly \ GAC_32 \ mscorlib \ v4.0_4.0.0.0__b77a5c561934e089 \ mscorlib.dll’。 跳过加载符号。 模块已经过优化,调试器选项“Just My Code”已启用。 ‘dnx.exe’(CLR v4.0.30319:DefaultDomain):已加载’Microsoft.Dnx.Host.Clr’。 无法找到或打开PDB文件。 ‘dnx.exe’(CLR v4.0.30319:DefaultDomain):已加载’C:\ WINDOWS \ […]

无法在ASP.NET 5 Core中使用iTextSharp

我正在尝试将iTextSharp与ASP.NET 5 Core一起使用。 但是,当我尝试使用iTextSharp 5.5.5构建ASP.NET应用程序时,我收到了这些错误 码: using Microsoft.AspNet.Mvc; using System.IO; using System; using iTextSharp; using iTextSharp.text; using iTextSharp.text.pdf; // For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 namespace MyNamespace { public class GenerateFileController : Controller { // GET: // public string Index() { PdfReader reader = new PdfReader(“template.pdf”); return “SomeText”; } } […]

.NET核心entity framework存储过程

我正在尝试将ASP.NET 4.5应用程序移植到.NET Core,我有一个我似乎无法弄清楚的真正问题。 我现有的应用程序执行存储过程,返回带有多个数据表的数据集。 entity framework可以自动将返回的字段映射到我的实体属性,但仅适用于数据集中的第一个数据表(自然)。 所以我只想弄清楚它是否可能以某种方式拦截模型构建过程并使用自定义代码来处理数据集并查看其他数据表来设置实体字段。 我知道我可以使用SqlConnection直接执行存储过程的常规方法,但我想知道entity framework是否有某种方法可以执行此操作。

ASP.NET 5 / MVC 6中基于约定的绑定

可以手动注册依赖项: services.AddTransient(); services.AddTransient(); 当依赖关系太多时,手动注册所有依赖项变得很困难。 在MVC 6(beta 7)中实现基于约定的绑定的最佳方法是什么? PS在以前的项目中,我使用Ninject和ninject.extensions.conventions 。 但我找不到MVC 6的Ninject适配器。

如何向ThenInclude添加where子句

我有3个实体: Questionnaire.cs : public class Questionnaire { public int Id { get; set; } public string Name { get; set; } public ICollection Questions { get; set; } } Question.cs : public class Question { public int Id { get; set; } public string Text { get; set; } public ICollection Answers { get; set; […]

查看代码更改,而无需重新启动服务器

我们使用Visual Studio Code和DNX如下。 用于启动Web服务器的命令行 dnx . web project.json>命令 “web”: “Microsoft.AspNet.Hosting –server Microsoft.AspNet.Server.WebListener –server.urls http://localhost:5001” 请注意,为了便于阅读,我们添加了回车符。 当我们更改*.cshtml并刷新浏览器时,更改会显示在浏览器中。 这很好。 当我们更改*.cs并刷新浏览器时,更改不会显示在浏览器中。 我们期望他们愿意。 要查看更改,我们需要停止Web服务器(在命令行中使用Ctrl + C ),然后使用dnx . web再次启动它dnx . web dnx . web 。 这不是世界末日; 那就是说,我认为ASP.NET 5的一个特性是能够在不重新编译的情况下进行刷新等。 我们如何更改*.cs代码并刷新浏览器以查看更改而无需重新启动DNX Web服务器? 我们尝试过运行dnx –watch . web dnx –watch . web问题,如果我们更改*.cs文件,那么Web服务器就会停止,我们无论如何都必须重新启动它。

.NET Core IServiceScopeFactory.CreateScope()vs IServiceProvider.CreateScope()扩展

我的理解是,当使用内置dependency injection时,.NET Core控制台应用程序将要求您自己创建和管理所有范围,而ASP.NET Core应用程序将默认通过定义的中间件创建和管理HttpRequest范围(s )。 使用ASP.NET Core,您可以选择创建和管理自己的范围,通过在需要HttpRequest之外的服务时调用CreateScope() 。 很明显,每次调用IServiceScopeFactory.CreateScope()都会创建一个新的IServiceScope ; 但是,调用IServiceProvider.CreateScope()扩展方法是否每次都会创建一个新的IServiceScope ? 基本上,在ASP.NET Core和.NET Core控制台应用程序中创建范围的以下方法之间是否存在有意义的差异: public class Foo() { public Foo(IServiceProvider serviceProvider) { using(var scope = serviceProvider.CreateScope()) { scope.ServiceProvider.GetServices(); } } } 和 public class Bar() { public Bar(IServiceScopeFactory scopeFactory) { using(var scope = scopeFactory.CreateScope()) { scope.ServiceProvider.GetServices(); } } }