Ich weiß, dass ich WebRoot von HostingEnvironment (Microsoft.AspNet.Hosting Namespace) abrufen kann.Wie wird der virtuelle Pfad dem physischen Pfad zugeordnet?
Ich brauche einen physischen Pfad nach einem virtuellen Pfad in IIS innerhalb meiner Webanwendung erstellt. In IIS verweist der Websitewurzel auf wwwroot meiner veröffentlichten Website, und es gibt ein virtuelles Verzeichnis, das in II hinzugefügt wird, das auf einen Ordner außerhalb meines Wwwroot verweist. Ich hoffe, ich kann den physischen Pfad dieses virtuellen Verzeichnisses bekommen. In MVC 5 oder früheren Version kann ich HostingEnvironment.MapPath (System.Web-Namespace) oder Server.MapPath verwenden, was soll ich in MVC 6 tun?
EDIT:
Es ist nicht der virtuelle Pfad aber das virtuelle Verzeichnis in IIS hinzugefügt. Ich hoffe, ich kann den physischen Pfad dieses virtuellen Verzeichnisses abrufen. Ich denke, das virtuelle Verzeichnis ist eine besondere Eigenschaft von IIS, die wie ein Unterpfad eines vollständigen virtuellen Pfades aussieht, aber auch ein Ordner außerhalb des physischen Web-Stammordners sein kann.
4. Oktober 2015
Siehe this issue in ASP.NET 5 Hosting repo, Bisher scheint es nicht, wir den physischen Pfad eines virtuellen Verzeichnisses in IIS erhalten können.
Ich glaube nicht, dass ich auf diese Weise ein virtuelles Verzeichnis in IIS definiert bekommen kann. ApplicationBasePath gibt den Root-Pfad von meinem 'wwwroot' an, aber das virtuelle Verzeichnis kann vollständig ein anderer Pfad außerhalb meines wwwroot sein, obwohl die virtuelle Verzeichnis-URL selbst wie ein Unterordner meiner Website aussieht. – Ricky
'ApplicationEnvironment.ApplicationBasePath' ist genau die physische Domäne Ihres Anwendungsstammverzeichnisses (nicht wwwroot von IIS). Es ist ein Verzeichnis mit dem Projekt.json der App. 'IHostingEnvironment.WebRoot' ist ein Unterverzeichnis von ApplicationBasePath für Ihr Webroot - es ist ein Verzeichnis, das in der project.json der App als' Webroot' angegeben ist. Für ein Beispiel ist dies ein Verzeichnis, von dem StaticFilesMiddleware Dateien aus bereitstellt. – Shrike