Servce Bus令牌具有无效签名

Fra*_*zer 8 c# servicebus azure

我正在尝试基于这篇文章创建一个服务总线中继

我收到一条错误消息Generic:InvalidSignature:令牌的签名无效.

static void Main(string[] args)
{
        ServiceHost sh = new ServiceHost(typeof(ProblemSolver));

        sh.AddServiceEndpoint(
           typeof(IProblemSolver), new NetTcpBinding(),
           "net.tcp://tjservicebus.servicebus.windows.net/solver");

        Console.WriteLine("Add Binding End Point");

        var key = "MYKEY";

        sh.AddServiceEndpoint(
           typeof(IProblemSolver), new NetTcpRelayBinding(),
           ServiceBusEnvironment.CreateServiceUri("sb", "tjservicebus", "solver"))
            .Behaviors.Add(new TransportClientEndpointBehavior
            {
                TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", key)
            });

        sh.Open();

        Console.WriteLine("Press ENTER to close");
        Console.ReadLine();

        sh.Close();
    }
Run Code Online (Sandbox Code Playgroud)

错误消息出现在sh.Open();

有人可以帮忙吗?

小智 6

我也有这个错误信息,结果是和张安迪一样的问题。

我删除了服务总线以测试自动化部署,并且仍在连接字符串中引用旧的 SharedAccessKey 进行连接,但这在重新部署后发生了变化。

我们将连接字符串存储在 Key Vault 中,因此我必须更改其中的连接字符串才能解决问题。


Fra*_*zer -7

看起来我已经解决了问题,密钥中的正斜杠没有转义

下一个问题是我现在收到以下信息,但想先排除我们的防火墙

<Error>
  <Code>400</Code>
    <Detail>
      Cannot send message because the service endpoint hosted at the specified address uses a binding that cannot be accessed over HTTP. TrackingId:7e6402e1-a250-482b-967e-a4d1860bca54_G37,TimeStamp:11/12/2015 9:09:15 AM
    </Detail>
</Error>
Run Code Online (Sandbox Code Playgroud)