1

我一直在尝试使用带有 Microsoft Storage Emulator 的 MassTransit 来启动和运行工作配置。但无论我尝试什么,都无法让它发挥作用。

我在此设置中获得的唯一详细信息是这里http://docs.masstransit-project.com/en/latest/configuration/transports/azure.html

设置

  • 我的模拟器正在运行
  • 我有一个队列设置
  • 我创建了访问策略
  • 创建了一个 SAS

当我创建一个 SAS 时,我得到一个如下所示的网址http://127.0.0.1:10001/devstoreaccount1/validation?sv=2015-12-11&si=validation-1574305821E&sig=dM8amgmEXM8ykQwLpnrBI2AJmBS3agOvtR%2FskAJJqec%3D

但我不能使用它,因为 Masstransit 抱怨协议需要是“sb://”而不是“http://”

我现在的代码是

void Main()
{
    var busControl = Bus.Factory.CreateUsingAzureServiceBus(sbc =>
            {

                var host = sbc.Host("sb://127.0.0.1", h =>                
                {
                    h.TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==");

                });

                sbc.ReceiveEndpoint("validation", a => 
                    {

                    }
                );
            });

        var o = new Person(){Name = "Bob", DOB = new DateTime(1978, 10, 20) };

        busControl.Start();
        busControl.Publish(o);
        busControl.Stop();

}

public class Person
{
    public string Name {get;set;}
    public DateTime DOB {get;set;}
}

我已经尝试过使用令牌

  • 账户名:devstoreaccount1
  • 帐户密钥:Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVERCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==

在此https://github.com/Azure/azure-content/blob/master/includes/storage-emulator-connection-string-include.md中提到

它出错的代码行是 busControl.Start();

我究竟做错了什么?

4

0 回答 0