0

Ich bin neu bei Azure WebJobs. Für eine mobile App benötigen wir einige WebJobs, die planmäßig ausgeführt werden können. Meine Frage bezieht sich auf die "Projekte-Architektur", wenn es um WebJobs geht.Azure WebJob-Project - Zugriff auf übergeordnete Projektartefakte

Soweit ich weiß, wird für jeden WebJob ein neues Projekt erstellt. Ich mache das, indem ich das Hauptprojekt rightklicke -> Neues azures Webjob-Projekt hinzufügen. Aber wie werden diese Projekte "kombiniert"? Es sollte einen Verweis auf das übergeordnete Projekt geben, das ich nicht finden kann. Ich muss auf die Entitäten vom Hauptprojekt im WebJob zugreifen. Wie soll das gemacht werden?

Außerdem bin ich mir nicht sicher, ob Logic + Data-Zugriff direkt in den WebJob implementiert werden soll oder ob der WebJob stattdessen einen anderen Controller anrufen soll, um damit umzugehen?

Dokumentation darüber ist schrecklich, jede Hilfe wäre großartig.

+0

Darf ich fragen, was Sie über den Web-Job erreichen möchten? - Das ist wichtig, weil ich verwirrt bin, warum Sie hier auf die Modelle Ihres Webprojekts zugreifen müssen oder ob es eine Alternative gibt, die ich vorschlagen kann. Und um Ihre Frage zu beantworten, wie die Web-App/mobile App einen Web-Job kennt - wenn Sie Ihren Web-Job bereitstellen, tun Sie dies über Ihre Web-App -> Einstellungen -> Web-Jobs -> "Upload" Ihre Executables hier "- so habe ich das Portal genutzt. – Jaya

+0

Ich möchte jeden Tag Daten von einem anderen Dienst anfordern. Diese Daten sollten in einer SQL-Datenbank gespeichert werden. Wir verwenden den Entity Framework Code zuerst. Ich denke, es gibt keine Möglichkeit, das Projekt, das die Entitäten enthält, zu referenzieren. – DominikP

+0

Wir kamen auch auf die Frage, ob es gut ist, die Entities-Sachen im Mobile App-Projekt zu behalten? Ein zusätzliches Entity-Projekt würde Sinn ergeben, da wir nicht auf die Dinge verweisen müssen, die wir nicht brauchen. – DominikP

Antwort

0

Wenn Sie Ihrer Lösung ein neues oder vorhandenes WebJob-Projekt hinzufügen, übernimmt Visual Studio dies für Sie. Es ist nichts Neues, als ob Sie Ihrer Web-/MVC-Anwendung ein Konsolen-/Windows-Dienstprojekt hinzufügen würden. Wenn Sie diese Projekte benötigen, um zu kommunizieren, müssen Sie Referenzen zu Ihren anderen Projekten hinzufügen, genau wie in jedem anderen Projekt, das wiederum kompiliert wird.

enter image description here

Wenn Sie mehr lernen müssen, und einige Beispiele zu überprüfen, dieses Tutorial https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk-get-started/ zeigt, wie Code für ein einfaches Multi-Tier ASP.NET MVC 5-Anwendung zu schreiben, die das WebJobs SDK verwendet. Vielleicht können Sie dadurch Informationen darüber erhalten, wie Sie die Anwendung erstellen können.

0

Sie sind nicht wirklich "kombiniert". Es gibt eine Referenz in der Web App (webjobs-list.json) in den Eigenschaften, die VS anweist, den Web-Job zu veröffentlichen, wenn Sie die Web-App veröffentlichen. Wenn Sie im Webjob auf Entitätsmodelle zugreifen müssen, müssen Sie wie in jedem anderen Projekt einen Verweis auf Ihre anderen Projekte hinzufügen (fügen Sie den Projektverweis hinzu und fügen Sie im Webjob eine using-Anweisung hinzu). Die Referenz wird in den Webjob kompiliert.

0

Darf ich fragen, was Sie über den Web-Job erreichen möchten? Dies würde helfen herauszufinden, warum Sie auf die Modelle Ihrer MVC-App zugreifen müssen.

Ein Vorschlag wäre, das Objekt von der MVC-App in eine azurblaue Warteschlange zu schieben und dann über Ihren Job darauf zuzugreifen. Richten Sie es so ein, dass neue Nachrichten in einer Warteschlange identifiziert werden. (auslösen). - Ich bin mir nicht sicher, ob dies dazu führt, dass ich nicht sicher bin, wie schnell der Web-Job ausgeführt wird und mit welchen anderen Einschränkungen Sie arbeiten.