所有文档(例如http://azure.microsoft.com/zh-cn/documentation/articles/websites-dotnet-webjobs-sdk-get-started/)和Azure WebJobs SDK的示例项目是指与Azure存储(表,博客和队列)的挂钩和绑定。我对将WebJobs用于与这些存储机制无关的功能感兴趣,例如运行计算,调用服务,或将它们与WebJobs SDK没有挂钩的其他存储服务一起使用。在这些情况下,完全使用WebJobs SDK是否有价值?我的印象(可能是不正确的)是,sdk还为您提供了管理作业执行的许多其他好处,例如控制在单线程中阻塞运行与在后台运行等等,可能与启动和停止作业,以及与Visual Studio的连接等等。
除了连接到Azure Table,博客和队列存储服务之外,是否有理由使用WebJobs SDK?如果是这样,该文档在哪里?
以下是一些更多详细信息,希望可以回答您的问题。
WebJobs SDK具有绑定和触发系统,可与Microsoft Azure存储Blob,队列和表以及服务总线配合使用。绑定系统使编写使用BCL类型读取或写入Microsoft Azure存储对象的代码变得容易。每当在队列或Blob中接收到任何新数据时,触发器系统就会在您的代码中调用一个函数。
该SDK还提供了丰富的诊断和监视体验,而无需开发人员编写任何诊断和日志记录代码。
现在,我们有针对特定系统(例如上述系统)的触发器,但是您可以自己编写更多的触发器和绑定。我们将以这种情况为基础,并在将来提供丰富的可扩展性故事,以便您可以为自己的系统/方案(例如SqlServer等)编写触发器。
不必使用Azure存储的情况的示例如下。这个原型展示了一个FileWatcher,它展示了如何在目录中检测到新文件时触发功能。https://github.com/rustd/WebJobsSDKSamples/tree/master/FileWatcher
您还可以使用JobHost.RunOnBackgroundThread或JobHost.Call()在后台处理任何内容。SDK将为您带来记录,管理这些功能的执行的好处,例如,如果这些功能长时间运行且从未完成,则取消它们,而不必终止进程。我们即将添加异步支持,因此您的函数也可以返回Task。
您可以在WebJobs中使用SDK。WebJobs平台为您提供过程管理(例如启动/停止WebJob)以及其他好处(例如扩展WebJob等)。
正如您提到的,如果您仅上载独立的EXE,您将不会对功能详细信息和日志有太多了解。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句