2008-10-09 4 views
6

Ich habe eine Seite something.aspx, mit zugehörigen codebehind something.aspx.cs. In diesem Codebehind möchte ich den Dateisystemspeicherort von something.aspx wissen. Gibt es einen bequemen Weg, um es zu bekommen?Wie kann eine .ASPX-Seite ihren Dateisystempfad erhalten?

Update: Ich habe mehrere ausgezeichnete Antworten erhalten, die leider nicht funktionieren, weil ich etwas anderes gemacht habe. Ich kodieren einige zusätzliche Informationen über die URL ich in übergeben, so sieht es wie folgt aus:

http://server/path/something.aspx/info1/info2/info3.xml

Der Server befasst sich mit diesem OK (und ich bin nicht Abfragezeichenfolgeflag Parameter unter Verwendung eines anderen Code arbeiten um dass ich nicht geschrieben habe). Aber wenn ich Server.MapPath (Request.Url.ToString()) aufruft, bekomme ich einen Fehler, dass die vollständige URL mit den 'Info'-Segmenten kein gültiger virtueller Pfad ist.

+0

einen Haltepunkt auf der MapPath Linie einstellen und dann die Eigenschaften von Request.Url inspizieren. Sie werden dort viele nützliche Dinge finden. –

+0

Wird tun, danke. – Bruce

Antwort

8
+0

Gewinner! Das Request-Objekt ist so schlecht organisiert, dass es schwierig ist, sich an all die verschiedenen Orte für Dinge zu erinnern. –

+0

Das hat den Trick, danke! Die tatsächliche Zeile, mit der ich endete, lautet: string servicesPath = Path.GetDirectoryName (Request.PhysicalPath) + @ "\ services \"; – Bruce

10
// File path 
string absoluteSystemPath = Server.MapPath("~/relative/path.aspx"); 
// Directory path 
string dir = System.IO.Path.GetDirectoryName(absoluteSystemPath); 
// Or simply 
string dir2 = Server.MapPath("~/relative"); 
+0

das bedeutet, ich weiß, was der "relative" Teil ist, aber das ist, was ich versuche zu berechnen. – Bruce

+0

Aber es funktioniert für mich - so: +1 – BlaM

5

Server.MapPath gehört zu den am meisten verwendeten Weg, es zu tun.

string physicalPath = Server.MapPath(Request.Url); 
0

Server.MapPath(Request.AppRelativeCurrentExecutionFilePath)

Verwandte Themen