मेरे पास एक netstandard2.1 एप्लिकेशन है और मैं nuget पैकेज "Microsoft.Azure.ServiceBus" Version="4.1.1" का उपयोग कर रहा हूं।

मैं एक नीला सेवा बस SubscriptionClient बना रहा हूं और PeekBatch और ReceiveBatch का उपयोग करने की कोशिश कर रहा हूं, लेकिन मुझे त्रुटियाँ मिल रही हैं, यहाँ क्या गुम है?

'सब्सक्रिप्शन क्लाइंट' में 'पीकबैच' की परिभाषा नहीं है और 'सब्सक्रिप्शन क्लाइंट' प्रकार के पहले तर्क को स्वीकार करने वाली कोई एक्सेसिबल एक्सटेंशन विधि 'पीकबैच' नहीं मिल सकती है

'सब्सक्रिप्शन क्लाइंट' में 'रिसीवबैच' की परिभाषा नहीं है और 'सब्सक्रिप्शन क्लाइंट' प्रकार के पहले तर्क को स्वीकार करने वाली कोई सुलभ एक्सटेंशन विधि 'पीकबैच' नहीं मिल सकती है

 _subscriptionClient = new SubscriptionClient(connectionString, topicName, subscriptionName, ReceiveMode.ReceiveAndDelete);
            
            _subscriptionClient.PrefetchCount = 16;

            while (_subscriptionClient.PeekBatch(16).Any())
            {
                var pendingMessages = _subscriptionClient.ReceiveBatch(16, TimeSpan.FromSeconds(1))?.ToList();
                if (pendingMessages != null)
                {
                    foreach (var message in pendingMessages)
                    {
                        // do processing of the message
                    }
                }
            }
1
user584018 12 सितंबर 2020, 07:07

1 उत्तर

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

आप इस समय .net मानक या कोर से बैच विधियों और प्रीफ़ेचिंग का उपयोग नहीं कर सकते हैं।

दस्तावेज़ यहाँ देखें: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-performance-improvements?tabs=net-standard-sdk#prefetching -और प्राप्त करेंबैच

प्रीफेचिंग

यह खंड केवल WindowsAzure.ServiceBus SDK पर लागू होता है, क्योंकि Microsoft.Azure.ServiceBus SDK बैच फ़ंक्शन को प्रदर्शित नहीं करता है।

ध्यान दें कि यहाँ WindowsAzure: https://www.nuget.org/packages/WindowsAzure.ServiceBus/

कृपया ध्यान दें कि इस पैकेज के लिए कम से कम .Net Framework 4.6.2 की आवश्यकता है।

केवल .net है और नेट कोर या नेट मानक का समर्थन नहीं करता है

1
Athanasios Kataras 12 सितंबर 2020, 12:47