ниже ошибки msg
.
System.NullReferenceException: 'Object reference not set to an instance of an object.'
Microsoft.AspNetCore.Mvc.Controller.TempData.get returned null.
Я получаю эту ошибку, пока:
TempData["test"] = "test"; //this is for testing
TempData["test"] = someObj; //this is my aim, but I'm getting the same error
Я не знаю, имеет ли это значение, но я запускаю конструктор классаэто контроллер, а затем метод отражением (method.Invoke(instanceConstructor, new object[] { colums });
).Во время логики в этом методе я пытаюсь использовать TempData
Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
public class Startup
{
public Startup(IConfiguration configuration) => Configuration = configuration;
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
//options.CheckConsentNeeded = context => true; //this option my startup dosent know what it is. even if I copy/paste using's from github example, I just added those to the topic
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddDistributedMemoryCache();
services.AddMemoryCache();
services.AddMvc() //.AddSessionStateTempDataProvider(); I tried with and without
services.AddSession();
}
public void Configure(IApplicationBuilder app) //, IHostingEnvironment env
{
app.UseSession();
app.UseAuthentication();
app.UseMvcWithDefaultRoute();
app.UseCookiePolicy();
}
}
это забавно, потому что в другом контроллере TempData
работает нормально,Я проверил usings
с этих контроллеров, и те usings
одинаковы.
TempData
работает с ProductController
для строковых типов TempData["message"] = $"'{deletedProduct.Name}' - produkt został usunięty";
работает без app.UseCookiePolicy();
и в ProductController
Я нашел тему, которая перенаправляет меня в msdn с советами по добавлению app.UseCookiePolicy();
и options to cokies
, но, как я уже сказал, это не работает для меня
Я использую ядро 2.0
Пожалуйста, объясните, почему TempData
не работает должным образом, или помогите найти ошибку в моем приложении