小编Ton*_*nyc的帖子

使用标签data-*实现Ajax调用

我正在尝试使用标签data-*实现Ajax调用,如 jquery-ajax-unobtrusive所述

我知道我可以使用$ .ajax()的javascript函数,但我的目的是试验标签data-ajax ...

我在cshtml文件中尝试了这段代码

<a class="btn btn-primary" data-ajax-url="/Home/AjaxSample" data-ajax="true" data-ajax-success="AjaxSuccess" data-ajax-failure="AjaxError" data-ajax-method="GET">Ajax</a>

// other code...

function AjaxSuccess() { alert('AjaxSuccess'); }
function AjaxError() { alert('AjaxError'); }
Run Code Online (Sandbox Code Playgroud)

浏览器当然会显示按钮,但单击它时没有任何反应.我无法在浏览器调试器中发现任何错误.显然没有任何事情发生.

Intellisense不显示标签data-ajax和friends.我忘了包含一些东西吗?

有没有完整的工作实例?

javascript ajax asp.net-mvc asp.net-core

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

从 .NET Core 2.2 迁移到 3.0 后缺少 AddJsonFormatters()

我有一个 Net Core 2.2 Web Api,我通过 IdentityServer4 的集成来保护它。所以我从IDS4的教程开始写代码,在那里我找到了AddJsonFormatters()。

我正在尝试将它从 .NET Core 2.2 迁移到 .NET Core 3.0。

目前我在 ConfigureServices() 的编译时遇到了问题。

我没有找到 AddJsonFormatters(),如果我理解正确,我必须使用 AddMvcOptions() 来获得相同的结果。

这样对吗?在这种情况下,等效配置是什么?

// .NET Core 2.2
public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore()
            .AddAuthorization()
            .AddJsonFormatters();

    // Other code...
}

// .NET Core 3.0
public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore()
            .AddAuthorization()
            // Something like this...
            .AddMvcOptions(options =>
            {                       
                //options.OutputFormatters.Add(new SomeKindOf_IOutputFormatter());
                //options.InputFormatters.Add(new SomeKindOf_IInputFormatter(options));
            });

    // Other code...
}
Run Code Online (Sandbox Code Playgroud)

identityserver4 asp.net-core-3.0 .net-core-3.0

10
推荐指数
2
解决办法
5681
查看次数

在 .NET Core 3 中使用 NLog 管理日志配置

我在 .NET Core 3.1 辅助服务应用程序中使用 NLog。按照 NLog 的教程,我插入了一个 nlog.config 文件来管理配置。

现在我很困惑,因为我有三点配置日志记录:

  1. 在我需要在依赖注入上下文中创建记录器的代码中

    // Other code...
    
    services.AddScoped<IApplyJcdsCommandsJob, ApplyJcdsCommandsJob>(provider =>
    {
        var loggerFactory = LoggerFactory.Create(builder =>
        {
            builder
                .ClearProviders()
                .AddFilter("Microsoft", Microsoft.Extensions.Logging.LogLevel.Trace)
                .AddFilter("System", Microsoft.Extensions.Logging.LogLevel.Trace)
                .AddFilter("ApplyJcdsCommandsJob", Microsoft.Extensions.Logging.LogLevel.Trace)
                //.AddConsole()
                //.AddEventLog();
                .AddNLog(configuration);
        });
    
        Microsoft.Extensions.Logging.ILogger logger = loggerFactory.CreateLogger<CommandsJob>();
    
        return new CommandsJob(logger);
    })
    
    // Other code...
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在 appSettings.json 中

    {
      "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
          "Default": "Trace",
          "System": "Trace",
          "Microsoft": "Trace"
        }
      }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在 NLog.config 中

    nuget 包安装生成的默认配置文件:

    <!-- a section of the config -->
    <targets> …
    Run Code Online (Sandbox Code Playgroud)

nlog .net-core ilogger

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

在 ASP.NET Core 2.2 中使用 nswag 设置承载令牌

我有一个 ASP.NET Core 2.2 Web Api,我用 nswag 添加了 swagger 支持。Web api 使用生成访问令牌的本地 IdentityServer4 进行保护。

我找到了添加授权按钮和表单并在标题中设置不记名令牌的代码。它有效!

public void ConfigureServices(IServiceCollection services)
{
//...   
            services.AddSwaggerDocument(config =>
            {
                config.DocumentName = "OpenAPI 2";
                config.OperationProcessors.Add(new OperationSecurityScopeProcessor("JWT Token"));
                config.AddSecurity("JWT Token", Enumerable.Empty<string>(),
                    new OpenApiSecurityScheme()
                    {
                        Type = OpenApiSecuritySchemeType.ApiKey,
                        Name = "Authorization",
                        In = OpenApiSecurityApiKeyLocation.Header,
                        Description = "Copy this into the value field: Bearer {token}"
                    }
                );
            });
//...
}
Run Code Online (Sandbox Code Playgroud)

Swagger 页面中的按钮

在此处输入图片说明

不记名令牌的复制/粘贴表格

在此处输入图片说明

我正在寻找一种无需复制/粘贴即可自动化流程和设置访问令牌的方法。

是否可以设置 nswag 来执行此操作?

swagger identityserver4 asp.net-core-webapi nswag asp.net-core-2.2

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