【发布时间】:2019-11-27 16:40:42
【问题描述】:
假设以下典型的Queue Trigger函数:
public void Run([QueueTrigger("queue1")]object data, ILogger log)
{
// Do something with data
}
我的问题是"queue1" 必须是一个常量字段,所以它必须在编译时定义。
另外,我想要一个队列触发器的基类,它可以像这样工作:
public abstract class QueueBase<TModel>
{
public void Run([QueueTrigger("queueName")]TModel data, ILogger log)
{
// Do something with data, log something etc.
OnRunExecuted(data);
// Do something with data, log something etc.
}
public abstract void OnRunExecuted(TModel data);
}
有了这个,我可以编写自己的类,这些类继承自 QueueBase,但甚至可以存在于没有 Microsoft.Azure.WebJobs 依赖项的库中:
public class MyQueueHandler : QueueBase<MyModel>
{
public void OnRunExecuted(MyModel data) => ...;
}
但是不可能传入队列名称...是吗?
【问题讨论】:
标签: c# .net .net-core azure-functions