下面是在 ASP.net Core 6.0 API 中开发的示例 POC,它使用 MassTransit 和 RabbitMQ 来模拟使用 MassTransit 消费者的简单发布/订阅。然而,当执行代码时,会导致在 RabbitMQ 中创建 2 个交换器和 1 个队列。
程序.cs
builder.Services.AddMassTransit(msConfig =>
{
msConfig.AddConsumers(Assembly.GetEntryAssembly());
msConfig.UsingRabbitMq((hostcontext, cfg) =>
{
cfg.Host("localhost", 5700, "/", h =>
{
h.Username("XXXXXXXXXXX");
h.Password("XXXXXXXXXXX");
});
cfg.ConfigureEndpoints(hostcontext);
});
});
Run Code Online (Sandbox Code Playgroud)
订单消费者.cs
public class OrderConsumer : IConsumer<OrderDetails>
{
readonly ILogger<OrderConsumer> _logger;
public OrderConsumer(ILogger<OrderConsumer> logger)
{
_logger = logger;
}
public Task Consume(ConsumeContext<OrderDetails> context)
{
_logger.LogInformation("Message picked by OrderConsumer. OrderId : {OrderId}", context.Message.OrderId);
return Task.CompletedTask;
}
}
Run Code Online (Sandbox Code Playgroud)
模型
public class OrderDetails
{ …Run Code Online (Sandbox Code Playgroud) 尝试升级到Angular 6并在index.html中引用以下内容时出现以下错误:
拒绝从' https:// localhost:44394 /〜/ assets / primengcss / themes / omega // theme.css ' 应用样式,因为它的MIME类型('text / html')不是受支持的样式表MIME类型,并且严格MIME检查已启用。
在 Visual Studio 2017(HTTPTrigger基于)中创建了一个新的 Azure 函数,并且在使用自定义路由传递参数时遇到了困难。下面是代码摘录:
[FunctionName("RunTest")]
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "orchestrators/contoso_function01/{id:int}/{username:alpha}")] HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// parse query parameter
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "id", true) == 0)
.Value;
string instanceId = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "username", true) == 0)
.Value;
if (name == null)
{
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
name = data?.name;
}
return name …Run Code Online (Sandbox Code Playgroud)