下面是.NET Framework中的代码。使用microsoft.azure.servicebus库的.net核心中的等效代码是什么
var namespaceManager = NamespaceManager.CreateFromConnectionString(ServiceBusConnectionString);
if (!namespaceManager.TopicExists(topicName))
{ // Configure Topic Settings.
var td = new TopicDescription(topicName);
td.MaxSizeInMegabytes = 1024;
td.DefaultMessageTimeToLive = TimeSpan.FromMinutes(5);
namespaceManager.CreateTopic(td);
}
答案 0 :(得分:0)
您还可以从Azure SDK github获得此issue。请参考Azure服务总线github以获取更多信息。
管理Azure资源的标准方法是使用Azure资源管理器。为了使用.NET Framework Service Bus客户端库中以前存在的功能,您将需要使用Microsoft.Azure.Management.ServiceBus库。这将启用动态创建/读取/更新/删除资源的用例。
当前,我们可以使用Azure流畅的SDK Microsoft.Azure.Management.Fluent和Microsoft.Azure.Management.ResourceManager.Fluent来实现。关于如何创建身份验证文件,请参阅其他SO thread。
var azureCredentials = SdkContext.AzureCredentialsFactory.FromFile("authfile paht"); // or different way
var azure = Azure
.Configure()
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(azureCredentials)
.WithDefaultSubscription();
var sbNameSpace = "service bus name space";
var resoureGroup = "resourcegroup";
var serviceBusNamespace = azure.ServiceBusNamespaces.GetByResourceGroup(resoureGroup, sbNameSpace);
serviceBusNamespace.Topics
.Define("topicName")
.WithSizeInMB(1024)
.WithDefaultMessageTTL(TimeSpan.FromMinutes(5))
.Create();