【发布时间】:2017-12-23 22:36:01
【问题描述】:
我想将一些代码升级到ASP.NET Core 2。
我知道HttpContext.Current 已从ASP.NET Core 2 中删除,必须使用IHttpContextAccessor。
但我不知道应该如何替换这段代码:
HttpContext.Current.Items.Contains(DataContextKey)
我该怎么做?
完整代码:
namespace Jahan.Infrastructure.DataAccess.DataContextStorage
{
public class HttpDataContextStorageContainer<T> : IDataContextStorageContainer<T> where T : class
{
private const string DataContextKey = "DataContext";
public T GetDataContext()
{
T objectContext = null;
if (HttpContext.Current.Items.Contains(DataContextKey))
{
objectContext = (T)HttpContext.Current.Items[DataContextKey];
}
return objectContext;
}
public void Clear()
{
if (HttpContext.Current.Items.Contains(DataContextKey))
{
HttpContext.Current.Items[DataContextKey] = null;
}
}
public void Store(T objectContext)
{
if (HttpContext.Current.Items.Contains(DataContextKey))
{
HttpContext.Current.Items[DataContextKey] = objectContext;
}
else
{
HttpContext.Current.Items.Add(DataContextKey, objectContext);
}
}
}
}
【问题讨论】:
-
Jahan,我终于也这样做了。你的代码看起来和我的一模一样。也许我们使用的是相同的来源?如果是这样,如果您能分享通用源代码来帮助我进行转换,我将不胜感激。请问你有这个源代码的出处吗?非常感谢!
标签: c# asp.net-core asp.net-core-mvc asp.net-core-2.0