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。
为了将我的 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。