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

Antwort per Email an