我创建一个像这样的BackgroundService:
public class CustomService : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken cancellationToken)
{
do
{
//...
await Task.Delay(60000, cancellationToken);
}
while (!cancellationToken.IsCancellationRequested);
}
}
Run Code Online (Sandbox Code Playgroud)
怎么手动取消呢?
我正在更改默认页面
services.AddRazorPages(options =>
{
//...
}).AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Home", "");
});
Run Code Online (Sandbox Code Playgroud)
但发生了异常
AmbiguousMatchException: The request matched multiple endpoints. Matches:
/Home
/Index
Run Code Online (Sandbox Code Playgroud)
我能做些什么?
我想在客户端浏览器中缓存主页
但设置ResponseCache属性后,响应头设置为Cache-Control: no-cache, no-store
阅读Response cache not working in asp.net core project和ResponseCache notworking in net core 3.1后,我无法修复此问题
[ResponseCache(Duration = 300)]
public class HomeModel : PageModel
{
public const string PageName = "Home";
public void OnGet()
{
}
}
Run Code Online (Sandbox Code Playgroud)
EF core 中的 DbGeography 相当于什么?
我想将以下代码从 EF 转换为 EF Core:
using System.Data.Entity.Spatial;
namespace Domain
{
public class City
{
public int CityId { get; set; }
public DbGeography Coordinates { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud) 如果我们不等待异步 javascript 函数怎么办?
据我所知,像 C# 这样的一些语言不应该运行非托管的异步函数!
我想知道 JavaScript 语言是否也是如此?
var asynchronousFunction = async function() {
//...
}
function main() {
var result = true;
//...
asynchronousFunction(); // The result of this function has no effect on our output (result)
//...
return result;
}
Run Code Online (Sandbox Code Playgroud) 在我的asp.net core应用程序中,每次发生错误后,请求的地址都会更改为站点错误页面地址,如何在错误页面中检索原始请求的地址?
启动.cs:
public class Startup
{
private const string ErrorHandlingPath = "/Error";
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseExceptionHandler(ErrorHandlingPath);
app.UseStatusCodePagesWithReExecute(ErrorHandlingPath);;
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}
}
Run Code Online (Sandbox Code Playgroud)
错误.cshtml.cs
public class ErrorModel : PageModel
{
public void OnGet()
{
var status = HttpContext.Response.StatusCode;//=404
var originalPath = HttpContext.Request.Path.Value;//=Error
var feauter = Request.HttpContext.Features.Get<IExceptionHandlerPathFeature>();//=null
var path = feauter?.Path;//=null
}
}
Run Code Online (Sandbox Code Playgroud) 我想将页面呈现为电子邮件模板。
但是当渲染器想要使用我遵循本教程的模型时,我收到错误
:learnrazorpages.com
RazorRenderer.cs:
public class RazorRenderer : IRazorRenderer
{
private readonly IRazorViewEngine _viewEngine;
private readonly ITempDataProvider _tempDataProvider;
private readonly IServiceProvider _serviceProvider;
public RazorRenderer(
IRazorViewEngine viewEngine,
ITempDataProvider tempDataProvider,
IServiceProvider serviceProvider)
{
_viewEngine = viewEngine;
_tempDataProvider = tempDataProvider;
_serviceProvider = serviceProvider;
}
public async Task<string> ToStringAsync<TModel>(string partialName, TModel model)
{
var actionContext = GetActionContext();
var partial = FindView(actionContext, partialName);
var viewData = new ViewDataDictionary<TModel>(new EmptyModelMetadataProvider(), new ModelStateDictionary());
var tempData = new TempDataDictionary(actionContext.HttpContext, _tempDataProvider);
viewData.Model = model;
await using var stringWriter …Run Code Online (Sandbox Code Playgroud) c# ×6
asp.net-core ×5
razor-pages ×2
.net-core ×1
async-await ×1
asynchronous ×1
javascript ×1
spatial ×1