Microsoft.AspNetCore.Session संस्करण 2.2.0 में ऑब्जेक्ट वैल्यू का सेशन कैसे बनाएं। मैंने विभिन्न लेख पढ़ने की कोशिश की है, लेकिन जब मैं इसे लागू करने की कोशिश कर रहा हूं तो यह मुझे त्रुटि देता है, क्योंकि 'सेटस्ट्रिंग' के रूप में कोई अधिभार नहीं है।

public static class SessionHelper
    {
        public static void SetObjectAsJson<T>(this ISession session, string key, object value)
        {
            session.SetString(key, JsonConvert.SerializeObject(value));
        }

        public static T GetObjectFromJson<T>(this ISession session, string key)
        {
            var value = session.GetString(key);

            return value == null ? default(T) : JsonConvert.DeserializeObject<T>(value);
        }
    }
0
Karan Thakkar 4 जुलाई 2019, 13:22

1 उत्तर

सबसे बढ़िया उत्तर

Asp.Net कोर में सेशन स्ट्रिंग को सेट करने और प्राप्त करने के अलावा, आपने पाइपलाइन में सेशन मिडलवेयर भी जोड़ा है, इसे app.UseSession() से पहले app.UseMvc() से पहले अपनी स्टार्टअप.सीएस फ़ाइल में कॉन्फिगर करें। उसके बाद अपने ConfigureServices विधि में, निम्न सेवा जोड़ें।

services.AddSession(options =>
  {
      //Replace {mins} with the time you want, usually around 20-30.
      options.IdleTimeout = TimeSpan.FromMinutes({mins});               
  });

और फिर आप सत्र हेल्पर वर्ग के साथ जारी रख सकते हैं। साथ ही आपकी कक्षा का नाम गलत है, इसे सत्र एक्सटेंशन कहा जाना चाहिए न कि सत्र हेल्पर, शायद इसलिए आपका एक्सटेंशन HttpContext.Session के साथ पंजीकृत नहीं है। उम्मीद है की यह मदद करेगा।

0
Himanshu Pant 4 जुलाई 2019, 17:06