小编Min*_*yen的帖子

Azure 存储队列和多个 WebJobs 实例:QueueTrigger 是否会在触发时设置消息租用时间?

场景:生产者向存储队列发送消息,一个WebJobs在QueueTrigger上处理该消息,每条消息只能处理一次,可以有多个WebJob实例。

我一直在谷歌搜索,从我读过的内容来看,我需要编写处理消息的函数以使其具有幂等性,因此消息不会被处理两次。我还读到消息的默认租用时间为 10 分钟。

我的问题是,当在一个 WebJob 实例上触发 QueueTrigger 时,它是否设置了消息的租用时间,以便另一个 WebJob 无法获取相同的消息?如果是这样,为什么我需要考虑消息可以被处理两次的可能性?还是我误解了这一点?

azure-storage-queues azure-webjobs

5
推荐指数
1
解决办法
2468
查看次数

Ninject:用于注入多个依赖项的注入模式?

如果我有10个依赖项,我需要注入,并且不希望在构造函数中有10个参数,我应该使用哪种注入模式?

public class SomeClass
{
    private IDependency1 _dependency1;
    private IDependency2 _dependency2;
    private IDependency3 _dependency3;
    //...
}
Run Code Online (Sandbox Code Playgroud)

我应该使用setter方法注入吗?

public class SomeClass
{
    private IDependency1 _dependency1;
    private IDependency2 _dependency2;
    private IDependency3 _dependency3;
    //...

    [Inject]
    public void SetDependency1(IDependency1 dependency1)
    {
        _dependency1 = dependency1;
    }
    //...
}
Run Code Online (Sandbox Code Playgroud)

还是物业注入?

public class SomeClass
{
    [Inject]
    public IDependency1 Dependency1 { private get; set; }
    [Inject]
    public IDependency2 Dependency2 { private get; set; }
    [Inject]
    public IDependency3 Dependency3 { private get; set; }
    //...
}
Run Code Online (Sandbox Code Playgroud)

根据Ninject wiki,只写上面的属性被认为是不好的做法,但是它与上面的setter方法注入不一样,只是更少的代码?

对于这种情况,哪种模式最有意义?

dependency-injection ninject

3
推荐指数
1
解决办法
939
查看次数