我一直在尝试使用带有 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();
我究竟做错了什么?