2015-11-11 37 views
4

我试图创建一个基于this articleServce总线令牌具有无效的签名

我得到一个错误消息,通用服务总线继电器: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(); 
    } 

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

谁能帮助?

回答

0

看起来我已经整理了问题,在关键的斜杠没有逃脱

下一个问题是IM,现在正在以下,但要排除我们的防火墙第一

<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> 
0

我遇到了与第一次相同的错误。

但我的问题是我用连接字符串作为关键。然后我已更改密钥的最后一个参数SharedAccessKey,并且错误已解决。

+2

你能解释一下你的改变吗? –

相关问题