KontextSoll ich einen AppService von einem anderen AppService aus anrufen?
derzeit in einem Dokument und Records Management-System arbeite ich (DRMS?). Aufgrund technischer Einschränkungen muss ich eine "view" -Datei und eine "source" -Datei (DOCX oder XLSX) speichern. Eine Ansichtsdatei ist eine PDF-Datei, die Benutzer für den täglichen Gebrauch drucken, herunterladen und anzeigen können, während eine Quelldatei die bearbeitbare Datei ist. Wenn Benutzer eine Datei aktualisieren müssen, laden sie die Quelle herunter, aktualisieren sie und laden eine neue Ansichtsdatei und die entsprechende Quelldatei hoch.
Ich kann derzeit keine XLSX-Viewer/Editoren implementieren, und aufgrund der Menge an Dateien kann ich nicht zu ODFs migrieren, um verfügbare Open-Source-Viewer zu verwenden.
Im Moment habe ich zwei Modelle wie folgt aus:
public class Document {
//Other fields
public virtual List<DigitalFile> Files { get; set; }
}
public class DigitalFile {
//Other fields
public virtual Document FileOf { get; set; }
}
Das Document
Modell verfügt über alle „Geschäft“ Daten, während die DigitalFile
Modelldaten über die Dateien hat sich (Pfad, URL, Typ, etc.)
Jedes Mal, wenn ein Dokument erstellt wird, enthält es 1 Ansichtsdatei (erforderlich) und möglicherweise 1 Quelldatei (einige Dokumente sind möglicherweise nicht editierbar). Von diesem können Sie wissen, dass wenn ein Dokument erstellt/aktualisiert wird mindestens 1 digitale Datei erstellt/aktualisiert wird.
Problem/Frage
werde ich ein DocumentAppService
alle CRUD-Operationen zu handhaben, aber hier ist, wo meine Zweifel kommt, sollte ich eine AppService von einem anderen AppService anrufen? Ich meine, wenn ein Dokument erstellt wird, sollte die Create-Methode eine andere Create-Methode in DigitalFileAppService
aufrufen? Oder sollte es besser sein, wenn DocumentAppService
alles alleine behandelt?
Im Moment sind alle CRUD-Operationen auf DigitalFile an die Vorgänge in Document gebunden, weshalb ich Zweifel habe, ob ich einen AppService für die Dateien implementieren soll.
Ich fing an, meine Antwort zu schreiben, bevor ich das sah und ich bin froh, dass ich ein ähnliches Verständnis habe :) – aaron
Ihre Antwort ist auch gut, danke :) – hikalkan
Ich dachte, ich hatte bereits die gesamte Dokumentation über ABP gelesen. In einer späten Nacht Versuch, das Problem zu lösen, nach dem Lesen der Antworten, ging ich wieder zu den "Docs", um nach den Domain-Diensten zu suchen. Wenn ich mir die Beispiele anschaue, ist das genau das, was ich brauche. Ich weiß immer noch nicht, ob ich einen Anwendungsdienst für DigitalFile haben sollte, da sie nicht separat von einem Dokument erstellt werden, aber ich habe in der Zwischenzeit etwas zu arbeiten. Danke – IvanGrasp