我正在尝试使用库Microsoft.Azure.ServiceBus.Management的CreateTopicAsync方法创建一个新的Topic(然后是一个订阅)。 连接字符串正确,如果通过Azure门户创建主题,则可以发送和接收消息。 我究竟做错了什么?任何帮助表示赞赏。
var managementClient = new ManagementClient(ServiceBusConnectionString);
bool topicExists = await managementClient.TopicExistsAsync(TopicName).ConfigureAwait(false);
if (!topicExists) {
TopicDescription td = new TopicDescription(TopicName);
td.MaxSizeInMB = 1024;
td.DefaultMessageTimeToLive = new TimeSpan(2, 0, 0, 0);
await managementClient.CreateTopicAsync(td).ConfigureAwait(false);
}
答案 0 :(得分:0)
尽管Service Bus ConnectionString可能是正确的,但要使您的应用程序能够创建主题,它需要具有var senderbitcoinvalue;
var formbitcoinamount;
var formbitcoinuid;
var subtractbitcoin;
var passbitcoin;
var passbrecevier;
var divisionbitcoin;
document.getElementById("sendbitcoin").addEventListener("click", function() {
//form values
formbitcoinamount = document.getElementById("bitcoinamount").value;
formbitcoinuid = document.getElementById("bitcoinuid").value;
var senderbitcoinvalue = firebase.database().ref().child("users").child(uid).child("bitcoin");
senderbitcoinvalue.on('value', function(databasesnapshot) {
//pass bitcoin
passbitcoin = databasesnapshot.val();
});
var reciverbitconvalue = firebase.database().ref().child("users").child(formbitcoinuid).child("bitcoin");
reciverbitconvalue.on('value', function(databasesnapshot122) {
//pass bitcoin
passbrecevier = databasesnapshot122.val();
});
if (passbitcoin > formbitcoinamount) {
subtractbitcoin = passbitcoin - formbitcoinamount;
// put subtracted amount on sender value
var senderbitcoinsub = firebase.database().ref();
senderbitcoinsub.child("users").child(uid).child("bitcoin").set(subtractbitcoin);
//reciver value
alert(passbrecevier);
alert("Your amount successfully been transferred");
return;
} else {
alert("You dont have enough Bitcoins");
}
});
权利(声明)。
取自Service Bus access control with Shared Access Signatures:
对于每个授权策略规则,您需要确定三项信息:名称,范围和权限。名字就是这样;在该范围内的唯一名称。范围很容易:它是所讨论资源的URI。对于服务总线名称空间,范围是完全限定的域名(FQDN),例如https://.servicebus.windows.net/。
策略规则赋予的权利可以是以下各项的组合:
- “发送”-授予向实体发送消息的权利
- “收听”-赋予收听(中继)或接收(队列,订阅)以及所有相关消息处理的权利
- “管理”-授予管理名称空间拓扑的权利,包括创建和删除实体
“管理”权限包括“发送”和“接收”权限。