我在最后一行收到一个错误。我该如何解决?尝试将Net 4.6.2项目转换为MVC Net Core。
Last Line Error: Name Session does not exist in Current Context.
public class TransferPropertyOwnershipController : Controller
{
public ActionResult GetNewOwnerRecord(int ownerID, int propertyID)
{
OwnerManager ownerManager = new OwnerManager();
var newOwner = ownerManager.Get(ownerID, true);
PropertyOwnerRoleViewModel newPropertyOwnerRoleViewModel = new PropertyOwnerRoleViewModel();
newPropertyOwnerRoleViewModel.OwnerID = newOwner.OwnerID;
newOwner.Address = new Model.Address();
newPropertyOwnerRoleViewModel.Owner = newOwner;
newPropertyOwnerRoleViewModel.IsPrimaryOwner = false;
newPropertyOwnerRoleViewModel.OwnershipPercentage = 0;
newPropertyOwnerRoleViewModel.PropertyID = propertyID;
IQueryable<PropertyOwnerRoleViewModel> currentOwnersResult = Session[_currentOwnersResult] as IQueryable<PropertyOwnerRoleViewModel>;
建议的解决方案:
数字1
HttpContext.Session.GetString(_currentOwnersResult])
Error Text: 'ISession' does not contain a definition for 'GetString' and no accessible extension method 'GetString' accepting a first argument of type 'ISession' could be found (are you missing a using directive or an assembly reference?)
数字2
IQueryable<PropertyOwnerRoleViewModel> currentOwnersResult = HttpContext.Current.Session(_currentOwnersResult]) as IQueryable<PropertyOwnerRoleViewModel>;
Error Text: 'HttpContext' does not contain a definition for 'Current' and no accessible extension method 'Current' accepting a first argument of type 'HttpContext' could be found (are you missing a using directive or an assembly reference?)
资源:
尝试使用此解决方案,但是有问题。 'Session' does not exist in the current context
答案 0 :(得分:3)
您需要在启动时add service。
public void ConfigureServices(IServiceCollection services)
{
....
services.AddSession(options =>
{
});
....
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
.....
app.UseSession();
....
}