我有以下 WebJob 功能...
public class Functions
{
[NoAutomaticTrigger]
public static void Emailer(IAppSettings appSettings, TextWriter log, CancellationToken cancellationToken)
{
// Start the emailer, it will stop on dispose
using (IEmailerEndpoint emailService = new EmailerEndpoint(appSettings))
{
// Check for a cancellation request every 3 seconds
while (!cancellationToken.IsCancellationRequested)
{
Thread.Sleep(3000);
}
log.WriteLine("Emailer: Canceled at " + DateTime.UtcNow);
}
}
}
我一直在研究它是如何被实例化的,我可以通过简单的调用来做到这一点......
host.Call(typeof(Functions).GetMethod("MyMethod"), new { appSettings = settings })
然而,这让我想知道 TextWriter 和 CancellationToken 是如何包含在实例化中的。我发现 JobHostingConfiguration 有 AddService 的方法,我尝试使用它注入我的 appSettings,但它失败并出现错误“异常绑定参数”。
那么 CancellationToken 是如何包含在实例化中的,JobHostingConfiguration AddService 的用途是什么?