【问题标题】:Azure WebJob-Project - access parent project artifactsAzure WebJob-Project - 访问父项目工件
【发布时间】:2016-07-17 00:28:52
【问题描述】:

我是 Azure WebJobs 的新手。对于移动应用程序,我们需要一些可以按计划运行的 WebJobs。我的问题是关于 WebJobs 的“项目架构”。

据我所知,每个 WebJob 都会创建一个新项目。我通过右键单击主项目-> 添加新的 azure webjob 项目来做到这一点。 但是这些项目是如何“组合”起来的。应该有一些我找不到的对父项目的引用。我需要从 WebJob 中的主项目访问实体。这应该怎么做?

此外,我不确定是直接在 WebJob 内部实现 Logic+Data 访问,还是让 WebJob 调用另一个控制器来处理这个?

这方面的文档很糟糕,每一个帮助都会很棒。

【问题讨论】:

  • 请问您想通过网络作业实现什么目标? - 这很重要,因为我很困惑为什么你需要在这里访问你的网络项目的模型,或者我可以建议一个替代方案。并回答您关于网络应用程序/移动应用程序如何知道网络作业存在的问题 - 它确实是因为当您部署网络作业时,您可以通过访问您的网络应用程序->设置->网络作业->“上传你的可执行文件在这里” - 这是我使用门户网站的方式。
  • 我想每天从另一个服务请求数据。该数据应保存到 sql 数据库中。我们首先使用实体​​框架代码。我认为没有办法引用包含实体的项目?
  • 我们还提出了一个问题,将实体内容保留在移动应用项目中是否是一种好习惯?一个额外的实体项目是有意义的,因为我们不需要引用我们不需要的东西。
  • 是的,将基础架构(您的域模型和 EF 存储库代码)项目分开是有意义的。因此,如果我理解正确,您的网络作业需要从另一个来源查询一些数据并使用 EF 将它们插入到您的数据库中 - 希望我做对了。为此,我会说使用您的应用程序的端点(或创建一个新端点)来插入数据 - 这样您就无需再次添加这些引用。或者,如果您被允许 - 将此 Web 作业创建为一个单独的独立项目 - 并允许它使用普通的旧 ADO.net 访问您的数据库以将数据推送到其中(但这不是重用您已有的内容)

标签: azure azure-webjobs azure-webjobssdk azure-mobile-services azure-app-service-envrmnt


【解决方案1】:

它们并不是真正的“组合”。 Web 应用程序(webjobs-list.json)中的属性中有一个引用,告诉 VS 在您发布 Web 应用程序时发布 Web 作业。如果您需要在 webjob 中访问实体模型,那么您需要像在任何其他项目中一样添加对其他项目的引用(添加项目引用,然后在 webjob 中添加 using 语句)。该引用将被编译到网络作业中。

【讨论】:

    【解决方案2】:

    请问您想通过网络工作实现什么目标?这将有助于确定为什么需要访问 MVC 应用程序的模型。

    一个建议是将对象从 MVC 应用程序推送到天蓝色队列,然后通过您的作业访问它。设置它以识别队列中的新消息。 (扳机)。 - 不确定这是否有帮助,因为我不确定网络作业的运行速度以及您正在使用的其他限制。

    【讨论】:

      【解决方案3】:

      当您将新的或现有的 WebJob 项目添加到您的解决方案时,Visual Studio 会为您处理这件事。这不是什么新鲜事,就好像您正在将控制台/Windows 服务项目添加到您的 Web/MVC 应用程序一样。 如果您需要这些项目进行通信,您需要添加对其他项目的引用,就像您在任何其他将被编译的项目中一样。

      如果您需要了解更多信息并查看一些示例,本教程https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk-get-started/ 将展示如何为使用 WebJobs SDK 的简单多层 ASP.NET MVC 5 应用程序编写代码。也许这可以为您提供一些有关如何构建应用程序的信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多