Ich habe 2 Projekte, die miteinander reden müssen. Das erste ist ein ASP.NET MVC-Projekt, das in der Produktion über eine Funktion verfügt, mit der der Benutzer eine HTML-Vorlage bearbeiten kann, die im Ordner wwwroot des Projekts gespeichert ist.
Das zweite Projekt ist eine C # -Konsolenanwendung, die einige Benutzerdaten aus einer Datenbank abruft und diese Daten dann verwendet, um Umfragen per E-Mail an Benutzer zu senden. Die HTML-Vorlage aus dem ersten Projekt muss von dieser Konsolen-App gepackt werden, damit sie beim Versenden dieser E-Mails verwendet werden kann. Ich hatte gehofft, HtmlAgilityPack zu verwenden, um die HTML-E-Mail-Vorlage aus dem ersten Projekt zu holen, wenn es live ist, etwas in der Art von:
var web = new HtmlWeb();
var document = web.Load("www.sitename.com/EmailTemplate");
string text = document.ParsedText;
Aber ich bin offen für andere Ideen, die in diesem Fall funktionieren könnten. Mehr oder weniger denke ich, ich muss nur herausfinden, wie man auf statische HTML-Dateien innerhalb des wwwroot-Ordners von einem Browser-Pfad zugreift, wenn das möglich ist. Oh, und diese zwei Projekte werden auf verschiedenen Servern laufen, also werden lokale Pfade nicht funktionieren. Vielen Dank!
Zum großen Teil dank ADysons Kommentaren ist es in dieser Situation am sinnvollsten, eine kleine API in der MVC-App zu erstellen, die die HTML-Datei abruft, und die Konsolenanwendung ruft diese API auf, um den benötigten HTML-Code abzurufen.
Ich hatte ein ähnliches Problem, und ich tat es, indem ich ~ / am Anfang meiner statischen Dateiadressen in meiner _Layout.cshtml hinzufügte. Meine Vorlagendateien und Fotos wurden nicht mehr in das Projekt geladen, aber das Layout wurde geladen. Auf diese Weise wurden auch die Dateien geladen