我正在尝试使用标签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.我忘了包含一些东西吗?
有没有完整的工作实例?
我有一个 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) 我在 .NET Core 3.1 辅助服务应用程序中使用 NLog。按照 NLog 的教程,我插入了一个 nlog.config 文件来管理配置。
现在我很困惑,因为我有三点配置日志记录:
在我需要在依赖注入上下文中创建记录器的代码中
// 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)
在 appSettings.json 中
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Trace",
"System": "Trace",
"Microsoft": "Trace"
}
}
}
Run Code Online (Sandbox Code Playgroud)
在 NLog.config 中
nuget 包安装生成的默认配置文件:
<!-- a section of the config -->
<targets> …Run Code Online (Sandbox Code Playgroud)我有一个 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
.net-core ×1
ajax ×1
asp.net-core ×1
asp.net-mvc ×1
ilogger ×1
javascript ×1
nlog ×1
nswag ×1
swagger ×1