Es geht darum dass ich in einer Configdatei "@webroot@/pics" als
variable habe,
also "D:\WebRoot\Projekte\KundeX\pics", wobei "@webroot@" als
"D:\WebRoot\Projekte\KundeX" �bersetzt wird.
Ich �berpr�fe nun ob ein Bild vorhanden ist und will aus
"D:\WebRoot\Projekte\KundeX\pics" nun
"/Projekte/KundeX/pics" machen. Das klappt aber nicht mit ner
Application in einer anderen (bzw VirtualDir).
Ich hab mir nun �berlegt ob ich irgendwie herausfinden kann ob einer der
�bergelegenen Ordner ein VirtuaDir
Ist und dann entsprechend eine andere behandlung f�r den relativen Pfad
laufen zu lassen. Leider habe ich das in C# noch nicht gemacht und finde
auch keine Ans�tze im Netz.
Bin f�r jede Anregung dankbar
Daniel
public string PathAsURL(string Path)
{
int PathLength = Path.Length;
System.Text.StringBuilder prepBuilder =
new
System.Text.StringBuilder(System.Web.HttpContext.Current.Server.MapPath(
"/"));
prepBuilder.Replace("\\", "\\\\");
System.Text.StringBuilder StrBuilder = new
System.Text.StringBuilder(Path);
StrBuilder.Replace("\\", "\\\\");
StrBuilder.Replace("\\\\\\\\", "\\\\");
StrBuilder.Replace(prepBuilder.ToString(), "");
StrBuilder.Replace("\\", "/");
StrBuilder.Replace("//", "/");
if(PathLength>StrBuilder.ToString().Length)
{
if
(StrBuilder.ToString().Substring(StrBuilder.ToString().Length-1,0)=="/")
{
return "/" +
StrBuilder.ToString();
}
else
{
return "/" +
StrBuilder.ToString() + "/";
}
}
else
{
return "";
}
}
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:bounce-aspdedotnet-1041822@;aspfriends.com] Im Auftrag von Andre
Seifert
Gesendet: Freitag, 18. Oktober 2002 15:11
An: aspDEdotnet
Betreff: [aspdedotnet] AW: VirtualDir oder nicht
Also, wenn ich das richtig verstehe, sieht deine Ordnerstruktur so aus:
D:\WebRoot\Projekte\KundeX
D:\WebRoot\Projekte\KundeY
D:\WebRoot\Projekte\KundeZ
wobei Projekte ein VirtualDir ist. KundeX demnach aber auch, wenn Du
eine WebApplikation aus VS.NET in diesem Verzeichnis erstellst.
Was ist Dein Problem und was willst Du tun?
andre.seifert
@xmmm.de
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:bounce-aspdedotnet-1050969@;aspfriends.com] Im Auftrag von
DanielFisher
Gesendet: Freitag, 18. Oktober 2002 14:45
An: aspDEdotnet
Betreff: [aspdedotnet] AW: VirtualDir oder nicht
Danke erst mal, aber das Problem sieht so aus:
D:\
|--WebRoot (localhost)
|--Projekte (localhost/Projekte)
| |-KundeX (localhost/Projekte/KundeX)
|...
"WebRoot" hat "Projekte" als Virtual Dir aber "KundeX" ist eine eigene
Application ...
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:bounce-aspdedotnet-1041822@;aspfriends.com] Im Auftrag von Andre
Seifert
Gesendet: Freitag, 18. Oktober 2002 12:16
An: aspDEdotnet
Betreff: [aspdedotnet] AW: VirtualDir oder nicht
Ich denke, dieses Workaround sollte funktionieren.
Der Application Path ist meiner Meinung nach das Virtual Dir, in dem
deine Anwendung l�uft.
private void Page_Load(object sender, System.EventArgs e)
{
// Abfragen des Scriptnamens
string myScript =
Request.ServerVariables["SCRIPT_NAME"].ToString();
//Neue FileInfo
FileInfo fi = new
FileInfo(Server.MapPath(myScript));
string scriptPath = fi.Directory.FullName;
Response.Write(scriptPath+"<br>");
string appPath =
Server.MapPath(Request.ApplicationPath).ToString();
Response.Write(appPath);
if(scriptPath.Equals(appPath))
Response.Write("<br><br>Script befindet sich in einem Virtual Dir");
else Response.Write("<br><br>Script befindet
<STRONG>NICHT</STRONG> sich in einem Virtual Dir");
}
System.IO nichtvergessen zu importieren.
andre.seifert
@xmmm.de
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:bounce-aspdedotnet-1050969@;aspfriends.com] Im Auftrag von
DanielFisher
Gesendet: Freitag, 18. Oktober 2002 00:05
An: aspDEdotnet
Betreff: [aspdedotnet] VirtualDir oder nicht
Hallo Liste
Hat jemand ne idee wie ich in einer aspx-seite pr�fen kann ob sie sich
in einem virtualdirectory
(ausserhalb des normalen webroots...also nicht nur ne application)
befindet oder nicht.
Daniel
| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie
| k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp
| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie
| k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp
| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie
| k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp
| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp
| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp