thm*_*shd 6 .net c# .net-core azure-functions
假设以下典型的队列触发函数:
public void Run([QueueTrigger("queue1")]object data, ILogger log)
{
// Do something with data
}
Run Code Online (Sandbox Code Playgroud)
我的问题是它"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);
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我可以编写自己的类,这些类继承自QueueBase
但甚至可以存在于没有Microsoft.Azure.WebJobs
依赖项的库中:
public class MyQueueHandler : QueueBase<MyModel>
{
public void OnRunExecuted(MyModel data) => ...;
}
Run Code Online (Sandbox Code Playgroud)
但不可能传递队列名称......是吗?
归档时间: |
|
查看次数: |
3060 次 |
最近记录: |