我无法连接到Microsoft Azure Notification Hub来管理订阅(获取注册和发送通知)。我有一个简单的C#控制台工具并执行NotificationHubClient方法'出现异常:(401)Not Allowed..TrackingId:**** uid_here *****
使用Fiddler,我收到以下原始错误消息: HTTP / 1.1 401 40103:授权令牌签名无效
我使用程序集Microsoft.Azure.NotificationHubs v2.16.0.0使用正确的连接字符串(完全共享访问)和WindowsAzure.ServiceBus v4.0.0。我从azure管理门户复制了确切的连接字符串,我也尝试连接ServiceBusExplorer,但是这是不可能的,使用这个工具我有错误:
Receivera:InternalServiceFault
由于内部错误,服务器无法处理请求。有关错误的更多信息,请在服务器上启用IncludeExceptionDetailInFaults(来自ServiceBehaviorAttribute或来自< serviceDebug>配置行为),以便将异常信息发送回客户端,或者根据Microsoft .NET打开跟踪Framework SDK文档并检查服务器跟踪日志。
有人遇到这种麻烦吗?
韩国社交协会!
更新: 感谢你们。这是一个连接字符串问题。错误是SharedAccessKeyName。当前的默认名称是DefaultFullSharedAccessSignature,我的初始密钥RootManageSharedAccessKey不再起作用。我认为它可以通过azure改变。它不接受与根密钥的连接......或者由于其他原因由其他人更改。
答案 0 :(得分:3)
根据您的描述,我构建了我的控制台应用程序,安装了Microsoft Azure Notification Hubs 1.0.7并从azure管理门户获取了连接字符串来测试此问题。它可以像我预期的那样工作,这里是代码片段,你可以参考它:
NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString("{connection-string-with-full-access}", "{your-notification-hub-name}");
await hub.SendWindowsNativeNotificationAsync("{your-Windows-native-payload}");
有关详细信息,您可以按照此官方document关于从后端发送推送通知。
答案 1 :(得分:1)
您的服务总线连接字符串必须包含通知中心名称:
端点= SB://my-notification-bus.servicebus.windows.net/; SharedAccessKeyName = DefaultFullSharedAccessSignature; SharedAccessKey = MySharedAccess;的 EntityPath =我的 - 轮毂名称强>