Asp.net 核心应用程序中的索引方法无效

Not working index method in Asp.net core application

为了将我的 asp.net 核心应用程序发布到网络服务器而进行了长时间的斗争,我终于做到了,现在除了指定为默认值的管理控制器的索引方法之外,一切都在工作。

 public IActionResult Index(int page = 1)
    {
        ViewBag.Title = "Admin Panel";

        var model = new AdminViewModel()
        {
            Paging = new PaginationSettings()
            {
                ItemsPerPage = 4,
                CurrentPage = page,
                ShowFirstLast = true,
                TotalItems = _newsData.GetAll().Count()
            },
            Category = _newsData.GetAllCats()

        };
        model.Newses = _newsData.Pagination(page);


        return View(model);
    }

浏览器仅抛出 500 错误并表示该网站无法运行。 如果有人知道该怎么做,请回复。 //编辑: 这是来自日志文件的错误:

warn: Microsoft.Extensions.DependencyInjection.DataProtectionServices[59] Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits. warn: Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository[50] Using an in-memory repository. Keys will not be persisted to storage.

这是 IIS 中的错误,当使用 DataProtection 的应用程序托管在 Kestrel/IIS 组合中时,会发生此错误。它将您的临时密钥放入内存而不是机器注册表中,这意味着当应用程序池停止时它们都会被处理掉。

关于此错误的讨论更多 here. The problem seems to be solved by running this PowerShell script on the server. You can read a bit more about the script in this GitHub thread