现在我想出了如何在ASP.NET Core MVC中启用脚手架(请参阅在ASP.NET Core中查看脚手架模板),我想为Views创建自定义模板文件.我发现一个地方说模板文件位于这里:
C:\ Users\{用户名}\.dnx\packages\Microsoft.Extensions.CodeGenerators.Mvc\1.0.0-rc1-final\Templates\ViewGenerator
但是我复制了那里的现有文件,并且复制的文件没有出现在"添加视图"对话框的"模板"下拉列表中.它们是否位于其他位置,或者我是否必须执行某些操作才能显示该文件夹中添加的文件?重新启动Visual Studio没有这样做.
我在网页上有一个输入控件,类似于:
<input type="number" name="value" />
Run Code Online (Sandbox Code Playgroud)
如果此控件具有焦点并且我按下向上或向下箭头键,则文本框中的值递增或递减(IE中除外).我想禁用此功能,最好使用CSS.我已经使用CSS删除了微调按钮.我意识到我可以使用JavaScript来捕获keydown事件,但我想允许箭头键继续向上或向下滚动页面.
我有一个ASP.NET Core 1.1.2项目,我在其中使用cookie身份验证.我遇到一个问题,即在闲置一小时或更短时间后,用户被提示重新登录,并失去工作.下面的代码是我在Startup.cs的Configure函数中使用的代码来设置它,我可以告诉它,它应该在至少8小时后到期.BTW,ProjectProcessFlow只是项目的名称.
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationScheme = "ProjectProcessFlow",
LoginPath = new PathString("/Account/Login/"),
ExpireTimeSpan = new TimeSpan(8, 0, 0),
SlidingExpiration = true,
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
Run Code Online (Sandbox Code Playgroud)
我在NuGet中包含了Microsoft.AspNetCore.Authentication.Cookies v1.1.2.我需要做什么才能在预期的时间内完成登录过期?
附加信息:
我发现当超时发生并且要求用户再次登录时,服务器上的事件查看器中记录了一条警告,指出它找不到项目下的logs文件夹.所以我创建了该文件夹,并等待超时再次发生.发生这种情况时,在该文件夹中创建了一个包含以下内容的日志文件:
Hosting environment: Production
Content root path: C:\inetpub\wwwroot\Sprout
Now listening on: http://localhost:13423
Application started. Press Ctrl+C to shut down.
Run Code Online (Sandbox Code Playgroud)
当我重复这个过程时,同样的事情发生了,除了在"localhost:"之后出现了一个不同的数字.我应该提到项目名称是ProjectProcessFlow,但URL以Sprout结尾.
我有一个通过依赖注入使用的Emailer类来发送电子邮件,该电子邮件获取要通过电子邮件发送的视图内容.我工作的过程非常好,除非视图包含对底层URL帮助器的调用,例如使用如下的A标记:
<a asp-controller="Project" asp-action="List">Open</a>
Run Code Online (Sandbox Code Playgroud)
这是我用来将视图呈现为字符串的代码:
private string renderViewAsString<TModel>(string folder, string viewName, TModel model)
{
var httpContext = new DefaultHttpContext { RequestServices = _serviceProvider };
var actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor());
var viewEngineResult = _viewEngine.FindView(actionContext, folder + "/" + viewName, false);
var view = viewEngineResult.View;
var viewData = new ViewDataDictionary<TModel>(new EmptyModelMetadataProvider(), new ModelStateDictionary());
viewData.Model = model;
var tempData = new TempDataDictionary(httpContext, _tempDataProvider);
using (var output = new StringWriter())
{
var viewContext = new ViewContext(actionContext, view, viewData, tempData, output, …Run Code Online (Sandbox Code Playgroud) 我正在使用dotnet 4.5.2创建一个新的ASP.NET Core项目,并尝试添加对Microsoft.EntityFrameworkCore.Tools的引用.在我的project.json文件中,我在依赖项下列出了这些:
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
Run Code Online (Sandbox Code Playgroud)
在引用下查看,它们似乎已成功加载.然后我在project.json中的工具下添加了这个:
"Microsoft.EntityFrameworkCore.Tools": {
"imports": [ "portable-net451+win8" ],
"version": "1.0.0-preview2-final"
}
Run Code Online (Sandbox Code Playgroud)
在我添加之后,当我构建解决方案时,我得到了这个构建错误:
Could not find a part of the path 'C:\Users\(my user name)\.nuget\packages\.tools\Microsoft.EntityFrameworkCore.Tools'
Run Code Online (Sandbox Code Playgroud)
如果我删除导入行,我会得到同样的错误.我在这做错了什么?
在 ASP.NET Core 3.1 中添加了一项功能,可以将未处理的异常传递到 ILogger 实例,如下所述: 登录 .NET Core 和 ASP.NET Core
我有一个服务器端 Blazor 网站,我希望能够在函数中处理这些异常,在该函数中我可以将它们记录到数据库或发送电子邮件。但是,我无法根据提供的文档提出执行此操作的代码。有人可以提供示例代码来捕获未处理的异常吗?
创建视图时,MVC 5具有非常方便的功能,可以选择用于搭建视图的模板.这使用T4模板文件基于指定的类型生成CSHTML文件.
有没有办法在ASP.Net Core 1.0中做这样的事情?