C# 在ASP.NET Core MVC中,如何在会话中插入返回List的方法的返回值
在我的ASP.NET Core MVC项目中,我需要在会话中插入以下方法的return,以便在其他地方使用此会话:C# 在ASP.NET Core MVC中,如何在会话中插入返回List的方法的返回值,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,在我的ASP.NET Core MVC项目中,我需要在会话中插入以下方法的return,以便在其他地方使用此会话: public static List<SelectListItem> GetCity(int stateid) { LookupApiApi lookupApiApi = new LookupApiApi(); Tuple<object, int> StateCities = lookupApiApi.LookupA
public static List<SelectListItem> GetCity(int stateid)
{
LookupApiApi lookupApiApi = new LookupApiApi();
Tuple<object, int> StateCities = lookupApiApi.LookupApiStateCitiesLookup(stateid);
List<SelectListItem> listCities = new List<SelectListItem>();
if (StateCities.Item2 == 200)
{
List<Lookups> cityLookupResponse = (StateCities.Item1) as List<Lookups>;
foreach (Lookups item in cityLookupResponse)
{
listCities.Add(new SelectListItem()
{
Value = item.Value.ToString(),
Text = item.Name
});
}
}
return listCities;
}
但是,在ASP.NET核心MVC中,我如何做类似的事情呢?任何帮助都将不胜感激 像这样
HttpContext.Session.Set("Cities", GetCity(stateid));
或
要启用会话的使用
public void ConfigureServices(IServiceCollection services)
{
....
services.AddSession(options => {
options.IdleTimeout = <your session cookie timeout>;
options.Cookie.HttpOnly = true;
});
....
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
....
app.UseSession();
....
}
和用于设置和获取可序列化对象的扩展方法:
public static class SessionExtensions
{
public static void Set<T>(this ISession session, string key, T value)
{
session.SetString(key, JsonConvert.SerializeObject(value));
}
public static T Get<T>(this ISession session, string key)
{
var value = session.GetString(key);
return value == null ? default(T) :
JsonConvert.DeserializeObject<T>(value);
}
}
更多信息请访问您可以查看此链接。这两个链接都告诉我如何在.net core中以简单的方式启用和使用会话。如果您检查我的问题,您将看到我需要将GetCitystateid的输出放在会话中,但我不能!你能提供更多的细节吗?例如你得到了什么错误。
public void ConfigureServices(IServiceCollection services)
{
....
services.AddSession(options => {
options.IdleTimeout = <your session cookie timeout>;
options.Cookie.HttpOnly = true;
});
....
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
....
app.UseSession();
....
}
public static class SessionExtensions
{
public static void Set<T>(this ISession session, string key, T value)
{
session.SetString(key, JsonConvert.SerializeObject(value));
}
public static T Get<T>(this ISession session, string key)
{
var value = session.GetString(key);
return value == null ? default(T) :
JsonConvert.DeserializeObject<T>(value);
}
}