小编Joh*_*son的帖子

asp.net core A second operation started on this context before a previous operation completed

I have an ASP.Net Core 2 Web application.

I'm trying to create a custom routing Middleware, so I can get the routes from a database.

In ConfigureServices I have:

services.AddDbContext<DbContext>(options => options.UseMySQL(configuration.GetConnectionString("ConnectionClient")));
services.AddScoped<IServiceConfig, ServiceConfig>();
Run Code Online (Sandbox Code Playgroud)

In Configure:

        app.UseMvc(routes =>
        {
            routes.Routes.Add(new RouteCustom(routes.DefaultHandler);
            routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}");
        });
Run Code Online (Sandbox Code Playgroud)

In the RouteCustom

public class RouteCustom : IRouteCustom
{
    private readonly IRouter _innerRouter;
    private IServiceConfig _serviceConfig;

    public RouteCustom(IRouter innerRouter)
    {
        _innerRouter = innerRouter ?? throw new ArgumentNullException(nameof(innerRouter));
    }

    public async Task RouteAsync(RouteContext context)
    { …
Run Code Online (Sandbox Code Playgroud)

c# routing dependency-injection asp.net-core

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

ASP.NET Forms身份验证超时

这可能是一个非常简单的问题,但在几个小时后试图理解它在ASP.NET 4.0上是如何工作的,我仍然不知道.

我正在使用表单身份验证.我有一个登录页面,上面有登录控件.

这是用户登录时所需要的:

A-用户应该保持记录状态,直到对超时设置不做任何操作.如果他们重新加载页面,则超时必须重新开始倒计时.

B-如果他们点击"记住我"检查他们应该保持联系,直到他们退出,无论他们是关闭浏览器还是重新启动计算机.

我遇到的问题是他们登录时我的计算机上没有看到任何cookie:

  1. 饼干在哪里?是内存cookie吗?
  2. 如果会话到期会发生什么?除非超时完成,否则我想让它们保持记录状态.
  3. 如果应用程序池被回收会发生什么?

另外我还有另一个问题:当他们点击"记住我"检查(案例B)时,我希望他们记录,直到他们点击退出按钮.这次我确实看到了一个cookie,但看起来它们只是为了暂停而保持连接...所以记住我与否的区别是什么......

我想完全分开身份验证和会话.我希望身份验证由cookie控制,如果接近不是很糟糕.

谢谢你的帮助.

asp.net timeout forms-authentication

15
推荐指数
1
解决办法
2万
查看次数

Asp.Net Core 2 复杂标签助手

我是 Asp.Net Core 的新手,我在使用 Tag Helpers 时遇到了问题。

我正在尝试为 2 个场景创建标签助手: - 输入组 - 复选框

当我从 asp-for 标签开始构建其他标签时,我没有问题,但我不知道如何构建“智能”标签,例如带有 asp-for 字段和所有验证的输入标签。

这是我正在尝试构建的内容:

输入组

<div class="input-group">
    <input class="form-control" placeholder="Search" type="text" data-val="true" data-val-maxlength="Max value" data-val-maxlength-max="5" id="SearchText" name="SearchText" value="" maxlength="5">
    <span class="input-group-append"><button class="btn btn-light" id="myButtonId" type="button">Search</button></span>
</div>
Run Code Online (Sandbox Code Playgroud)

这就是我现在所拥有的:

<div class="input-group">
    <input asp-for="SearchText" class="form-control" placeholder="Buscar" add-on-button="myButtonId" add-on-append="true" />
</div>
Run Code Online (Sandbox Code Playgroud)

这是标签助手

[HtmlTargetElement("input", Attributes = "add-on-button,add-on-append", ParentTag = "div")]
public class TextBoxButtonHelper : TagHelper
{
    public string AddOnButton { get; set; }
    public bool AddOnAppend { get; set; …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-core asp.net-core-tag-helpers

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