Я регистрирую аудит пользователя в базе данных при каждом щелчке страницы, и я думал, что делать это в промежуточном программном обеспечении было приемлемо (и хорошо?), Так как он запускается при каждом HTTP-запросе.Однако, когда я перехожу на новую страницу, код в промежуточном программном обеспечении (userService.AddUser ()) используется три раза, и я не уверен, почему.
Вот код:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IUserService userService)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseAuthentication();
// My own code.
app.Use(async (context, next) =>
{
// The database insert
userService.AddUser();
await next.Invoke();
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
Возможно, мне не хватает некоторых знаний о том, почему это не работает.
Спасибо