Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Azure WebJobs SDK是否专门用于使用Azure存储?_.net_Visual Studio_Azure_Azure Webjobs_Azure Webjobssdk - Fatal编程技术网

.net Azure WebJobs SDK是否专门用于使用Azure存储?

.net Azure WebJobs SDK是否专门用于使用Azure存储?,.net,visual-studio,azure,azure-webjobs,azure-webjobssdk,.net,Visual Studio,Azure,Azure Webjobs,Azure Webjobssdk,Azure WebJobs SDK的所有文档(例如)和示例项目都涉及到Azure存储的挂钩和绑定(表、博客和队列)。我感兴趣的是将WebJobs用于与这些存储机制无关的函数,例如运行计算、调用服务,或者将它们用于WebJobs SDK没有挂钩的其他存储服务。在这些情况下,使用WebJobs SDK有任何价值吗?我有一种(可能是错误的)印象,sdk为您提供了许多其他管理作业本身执行的好处,比如控制在单个线程中使用阻塞运行与在后台运行等,可能是与启动和停止作业相关的操作挂钩,以及一些到Visual

Azure WebJobs SDK的所有文档(例如)和示例项目都涉及到Azure存储的挂钩和绑定(表、博客和队列)。我感兴趣的是将WebJobs用于与这些存储机制无关的函数,例如运行计算、调用服务,或者将它们用于WebJobs SDK没有挂钩的其他存储服务。在这些情况下,使用WebJobs SDK有任何价值吗?我有一种(可能是错误的)印象,sdk为您提供了许多其他管理作业本身执行的好处,比如控制在单个线程中使用阻塞运行与在后台运行等,可能是与启动和停止作业相关的操作挂钩,以及一些到Visual Studio的挂钩,等等。我知道我可以上传独立的EXE和脚本文件,并将它们作为WebJobs运行,但我进一步假设,以这种方式运行会更加不透明,使您对作业执行的可见性降低,并且控制它们的编程能力也降低


是否有理由在其Azure表、博客和队列存储服务的挂钩之外使用WebJobs SDK?如果是,文档在哪里?

要使用Azure网站WebJobs功能,您不必使用WebJobs SDK


WebJobs SDK目前支持Azure存储队列、Blob、表和Azure服务总线队列,如果您不需要这些队列,则无需使用它们。

WebJobs SDK不是唯一的触发器(存储和服务总线)。即使您不使用触发器,WebJobs仪表板也是非常有价值的—您可以获得一些功能强大的诊断,并且可以更好地调试生产系统。

以下是一些详细信息,我希望这些信息能够回答您的问题

WebJobs SDK有一个绑定和触发系统,可与Microsoft Azure存储Blob、队列和表以及服务总线一起使用。绑定系统可以轻松编写使用BCL类型读取或写入Microsoft Azure存储对象的代码。每当队列或Blob中接收到任何新数据时,触发器系统都会调用代码中的函数

SDK还提供了丰富的诊断和监控体验,而无需开发人员编写任何诊断和日志代码

现在,我们已经为特定系统(如上面提到的系统)提供了触发器,但是您可以自己编写更多的触发器和绑定。我们将在这个场景的基础上进行构建,并在将来提供丰富的可扩展性故事,以便您可以为自己的系统/场景(如SqlServer等)编写触发器

下面是一个不必使用Azure存储的示例。这个原型展示了一个FileWatcher,它展示了在目录中检测到新文件时如何触发函数。

您还可以使用JobHost.RunOnBackgroundThread或JobHost.Call()在后台处理任何内容。SDK将为您提供日志记录、管理这些函数的执行的好处,例如,如果这些函数长时间运行且从未完成,则取消这些函数,而无需终止进程。我们将很快添加异步支持,以便您的函数也可以返回任务

您可以在WebJobs中使用SDK。WebJobs平台为您提供了流程管理(如启动/停止WebJob)和其他好处(如扩展WebJob等)


正如您所提到的,如果您只上传独立的EXE,您将无法看到函数详细信息和日志记录。

我几乎不做任何修改就移动了WorkerRole代码。我的项目中没有包含WebJobs SDK。如果您不需要它,就没有理由使用它。@trailmax-那么您是通过门户手动上传代码还是从Visual Studio上传代码?我有一个PowerShell例程,它将Web作业作为网站包的一部分,并通过Azure PowerShell命令进行部署。感谢您的回复-我非常感谢。我看到你在其他帖子中给出了类似的答案,但是你的声明“WebJobs SDK支持Azure存储队列、Blob、table和Azure服务总线队列”是非常误导人的(我是建设性地这样说的)。应该说,“WebJobs SDK支持Azure存储队列、Blob、表和Azure服务总线队列作为触发机制”。按照你的说法,一个不熟悉WebJobs的人可能会认为他们甚至无法从WebJobs内部访问SQL数据库,这是错误的。我编辑了你的回复,但当我编辑我对你的评论以表明这一点时,它不允许我,因此出现了这个新评论。正如Victor提到的,WebJobs SDK不仅仅是基于Azure存储/服务总线的触发机制,它还支持输出到Azure存储,并具有强大的日志机制,我的答案只是关于在不使用Azure存储时是否需要使用WebJobs SDK。我的观点只是,你的说法会误导许多没有WebJobs经验的人。我认为你很接近,所以你可能没有考虑他们的观点。我在网上看到过很多回复(回应你在其他地方或其他人以同样的方式发表了相同的声明),他们说,“所以我不能从WebJobs使用SQL Azure???”是的,我知道你说“SDK”只支持Azure存储,但大多数人认为“WebJobs”只支持Azure存储。只是建议你稍微修改一下你的答案来澄清这一点。另外,这里有一个例子,OP说“这条线索表明WebJobs不支持SQL数据库……”他这样回答是因为Victor在回答这个问题时说“不幸的是,WebJobs SDK不支持SQL数据库。它只支持Azure存储(Blob、队列和表)。”,这与您在这里的回答类似,混淆了OP。您的回答正是我一直在寻找的澄清。现在我了解到使用WebJobs SDK为我提供了