/ / ServiceBus विषय बनाएं यदि यह पहले से मौजूद नहीं है - c #, azureservicebus

ServiceBus विषय बनाएं यदि यह पहले से मौजूद नहीं है - c #, azureservicebus

माइक्रोसॉफ्ट ने अपनी .NET ServiceBus क्लाइंट लाइब्रेरी को अपडेट किया है, और वर्तमान में उनके दस्तावेज़ों को पुराने के बीच विभाजित किया गया है WindowsAzure.ServiceBus पैकेज और नया Microsoft.Azure.ServiceBus पैकेज। मुझे नया पैकेज पसंद है, क्योंकि यह बहुत साफ है और इसकी कम निर्भरता है। पुराने पैकेज में, हमारे पास निम्न विधियां थीं:

if (!namespaceManager.TopicExists(topicName))
{
var topic = new TopicDescription(topicName);
namespaceManager.CreateTopic(topic);
}

एक विषय प्रोग्रामेटिक रूप से बनाने के लिए प्रलेखन अभी भी उपरोक्त कोड के साथ पुराने पैकेज का उपयोग करता है। NamespaceManager कक्षा नए पैकेज में उपलब्ध नहीं है, तो मैं इसके बराबर कैसे प्राप्त कर सकता हूं?

उत्तर:

जवाब के लिए 3 № 1

गीथूब रेपो पर नीला-सेवा-बस-डॉटनैट, वे बताते हैं कि सेवा बस इकाइयों का प्रबंधन कैसे करें:

इस पुस्तकालय का उपयोग करने के तरीके पर एक नमूना है:

आपको इन पैकेजों को स्थापित करने की आवश्यकता है:

  • Microsoft.Azure.Management.ServiceBus
  • Microsoft.Azure.Management.ResourceManager
  • Microsoft.IdentityModel.Clients.ActiveDirectory

यदि आप कोई विषय बनाना चाहते हैं तो आपके लिए दिलचस्प हिस्सा। ध्यान दें कि आपको यह जांचने की आवश्यकता नहीं है कि विषय मौजूद है या नहीं। Azure संसाधन प्रबंधक केवल संसाधन मौजूद है यदि यह पहले से मौजूद है।

// On you"ve got the ServiceBusManagementClient
ServiceBusManagementClient sbClient = ...

sbClient.Topics.CreateOrUpdateAsync("resource group name", "namespace name", "topic name",
new Microsoft.Azure.Management.ServiceBus.Models.SBTopic());

उत्तर № 2 के लिए 1

अगर आप इंतजार कर सकते हैं तो भविष्य का विकल्प भी है - नामस्थान स्टैंडर में वर्णित एक स्टैंडअलोन पैकेज के रूप में निम्नलिखित मुद्देविकल्प यह समर्थन करेंगे इस मुद्दे में भी सूचीबद्ध हैं।

  • प्राप्त करें - अस्तित्व की जांच तक सीमित है और मेटाडेटा वापस दें
  • GetRuntimeInformation (सभी मायने रखता है और अंतिम स्थिति, लगभग गणना, 10s के भीतर सटीक)
  • GetQueueNames, GetTopicNames (सूची इकाई नाम)
  • इकाई बनाएं
  • इकाई हटाएं
  • अद्यतन (अद्यतन करने के लिए मेटाडेटा पर विवरण की आवश्यकता है, कार्यान्वयन के दौरान किया जा सकता है)
  • FindOrCreate (अप्सर्ट - कतार "यह अस्तित्व में नहीं है)
  • UpdateOrCreate (अप्सर्ट)

यदि आप आसानी से पसंद करते हैं NamespaceManager, तो इस मुद्दे का पालन करने लायक है।