在Asp.net核心应用程序

时间:2016-11-20 17:46:58

标签: c# asp.net-mvc asp.net-core iis-8

经过长时间的努力将我的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错误并说该网站无效。 如果有人知道该怎么做请求回复。 //编辑: 这是来自logfile的错误:

  

警告:Microsoft.Extensions.DependencyInjection.DataProtectionServices [59]         既没有用户个人资料也没有HKLM注册表。使用临时密钥存储库。应用程序退出时,受保护的数据将不可用。   警告:Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository [50]         使用内存存储库。密钥不会被保存到存储区。

1 个答案:

答案 0 :(得分:0)

这是IIS中的一个错误,当使用DataProtection的应用程序托管在Kestrel / IIS组合中时会发生这种错误。它将你的短暂密钥放入内存而不是机器注册表,这意味着当应用程序池停止时它们都会被释放。

有关此错误的更多讨论here。问题似乎是由服务器上的running this PowerShell script解决的。您可以阅读有关脚本in this GitHub thread的更多信息。