小编Ron*_*ono的帖子

ASP.NET Core中的自定义脚手架模板

现在我想出了如何在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没有这样做.

asp.net-mvc-scaffolding asp.net-core-mvc

20
推荐指数
3
解决办法
1万
查看次数

防止箭头键更改数字输入中的值

我在网页上有一个输入控件,类似于:

<input type="number" name="value" />
Run Code Online (Sandbox Code Playgroud)

如果此控件具有焦点并且我按下向上或向下箭头键,则文本框中的值递增或递减(IE中除外).我想禁用此功能,最好使用CSS.我已经使用CSS删除了微调按钮.我意识到我可以使用JavaScript来捕获keydown事件,但我想允许箭头键继续向上或向下滚动页面.

html input

12
推荐指数
3
解决办法
8838
查看次数

Cookie身份验证在ASP.NET Core中过早到期

我有一个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结尾.

c# authentication asp.net-core-mvc

8
推荐指数
2
解决办法
2830
查看次数

将包含URL的Razor视图渲染到ASP.NET Core中的字符串

我有一个通过依赖注入使用的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)

asp.net-core-mvc

4
推荐指数
1
解决办法
1851
查看次数

将Microsoft.EntityFrameworkCore.Tools添加到ASP.NET Core项目

我正在使用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)

如果我删除导入行,我会得到同样的错误.我在这做错了什么?

entity-framework-core asp.net-core

3
推荐指数
1
解决办法
7830
查看次数

处理 ASP.NET Core 3.1 中未处理的异常

在 ASP.NET Core 3.1 中添加了一项功能,可以将未处理的异常传递到 ILogger 实例,如下所述: 登录 .NET Core 和 ASP.NET Core

我有一个服务器端 Blazor 网站,我希望能够在函数中处理这些异常,在该函数中我可以将它们记录到数据库或发送电子邮件。但是,我无法根据提供的文档提出执行此操作的代码。有人可以提供示例代码来捕获未处理的异常吗?

exception asp.net-core blazor

3
推荐指数
1
解决办法
5632
查看次数

在ASP.NET Core中查看脚手架模板

创建视图时,MVC 5具有非常方便的功能,可以选择用于搭建视图的模板.这使用T4模板文件基于指定的类型生成CSHTML文件.

有没有办法在ASP.Net Core 1.0中做这样的事情?

visual-studio-2015 asp.net-core-1.0

1
推荐指数
1
解决办法
3122
查看次数