azure - 多次读取 BrokeredMessage 正文

标签 azure aop azure-functions azureservicebus

我知道错误消息是不言自明的,我们无法多次读取消息正文。这里我使用AOP(面向方面​​编程)来进行审计日志。

[AuditServiceMethod(AttributePriority = 0)]
[FunctionName("ValidateSubscriber")]
    public static async Task RunAsync([ServiceBusTrigger("validate-message", AccessRights.Manage,
        Connection = "ServiceBusConnection")]BrokeredMessage message,
        TraceWriter log,
        [Inject(typeof(ICommonUtilities))] ICommonUtilities commonUtility)
    {
        string body;
        using (var stream = message.GetBody<Stream>())
        using (var streamReader = new StreamReader(stream, Encoding.UTF8))
        {
            body = await streamReader.ReadToEndAsync();
        }
}

[AuditServiceMethod] 是我的审核请求、响应和错误日志的方面。 有没有什么好的解决方法可以在Azure函数中多次获取body?

最佳答案

您需要clone BrokeredMessage 并使用克隆消息而不是原始消息。

关于azure - 多次读取 BrokeredMessage 正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50869208/

相关文章:

spring - 使用 Spring 和 AspectJ 可配置与组件

c# - BrokeredMessage 在等待后被处置

azure - 启用部署槽

c# - Azure Functions 运行时无法访问

azure - #AuthorizationFailed az functionapp 部署源 config-zip

Windows Azure 应用程序 - 黑客尝试?

java - PHP中调用和执行切入点之间的区别?

azure - 如何在 Azure 中的新 VM 上公开网站?

azure - Docker:如何处理重启的节点?

java - Spring AOP代理使用