मेरे पास स्टार्टअप फ़ाइल में नीचे ऑनकनेक्ट ईवेंट है।

मैं कुंजी-मूल्य जोड़े जोड़ना चाहता हूं जो मैं डेटाबेस से चाहता हूं। कुछ इस तरह।

OnConnect = (subscription, args) =>
                    {
                       var value = db.Select<Users>(v => v.Id == subscription.UserId).First();
agrs.Add("Key", value);
                    }
0
Bhushan Dhage 13 जिंदा 2021, 11:31
क्या आप इस सवाल को स्पष्ट कर सकते हैं कि आप वास्तव में क्या हासिल करने की कोशिश कर रहे हैं और वास्तविक समस्या क्या है जो इसे रोक रही है।
 – 
mythz
13 जिंदा 2021, 17:03
ठीक है, तो सर्वर-साइड पर मेरे पास स्टार्टअप.सीएस फ़ाइल में ऑनकनेक्ट इवेंट है, ऑनकनेक्ट के तर्क तर्क में मुझे एक नया कुंजी-मूल्य जोड़ी जोड़ना है, लेकिन डेटाबेस से मुझे जो कुंजी-मान चाहिए, वह है एक शब्दकोश है जिसे हम सीधे कुंजी-मूल्य जोड़ी जोड़ सकते हैं लेकिन ऑनकनेक्ट इवेंट में डेटाबेस से डेटा कैसे प्राप्त करें। यह भी ठीक रहेगा अगर हम सब्सक्रिप्शन तर्क में एक नई संपत्ति जोड़ सकते हैं।
 – 
Bhushan Dhage
14 जिंदा 2021, 17:19
मैं उस विशिष्ट प्रश्न का अभ्यास करने की कोशिश कर रहा हूं जिसका आप उत्तर ढूंढ रहे हैं, क्या आप सिर्फ यह जानना चाहते हैं कि आईओसी से डीबी को कैसे हल किया जाए?
 – 
mythz
14 जिंदा 2021, 17:23
हाँ, और क्या स्टार्टअप फ़ाइल में डेटाबेस से डेटा प्राप्त करना अच्छा अभ्यास है? क्योंकि मैंने पाया कि सदस्यता में args और userId फ़ील्ड में पहले से ही एक userId कुंजी है, तो क्या सदस्यता या args में उपयोगकर्ता तालिका से कोई अन्य फ़ील्ड जोड़ने का कोई बेहतर तरीका है।
 – 
Bhushan Dhage
14 जिंदा 2021, 17:28
यदि आपके ऐप को इसे कॉन्फ़िगर करने के लिए DB से डेटा की आवश्यकता है, तो इसे स्टार्टअप या AppHost.Configure() से लाना उतना ही अच्छा स्थान है, यदि यह किसी उपयोगकर्ता के लिए है, तो आप आमतौर पर इसे उपयोगकर्ता सत्र पर पॉप्युलेट करते हैं जब वे प्रमाणित करते हैं कि कौन सा आपको बाद में डीबी मारने से बचाएगा। नोट: आप OnCreated कॉलबैक का उपयोग IRequest संदर्भ तक पहुंचने के लिए + req.GetSession() के साथ प्रमाणीकृत उपयोगकर्ता सत्र तक पहुंचने के लिए कर सकते हैं।
 – 
mythz
14 जिंदा 2021, 17:50

1 उत्तर

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

सर्विसस्टैक के बाहर आप अपनी IOC निर्भरता को HostContext और HostContext.AppHost सिंगलटन के माध्यम से हल कर सकते हैं, जैसे:

Plugins.Add(new ServerEventsFeature {
    OnConnect = (sub, connectArgs) => {
        using var db = HostContext.TryResolve<IDbConnectionFactory>().Open();
    }
});
1
mythz 14 जिंदा 2021, 17:44