Toon posts:

[asp.net] Directory browsing & IIS *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Sinds een kort ben ik overgestapt van webmatrix naar IIS als ontwikkelomgeving.
Nu was ik al met webmatrix bezig met een scriptje wat een directorty uitlas op de server.
Echter als ik dit zelfde scriptje run op IIS dan doet dit script het niet.
Wat er niet doet is het volgende, het uitlezen van de bestanden in de directory.
Misschien is dit puur een ISS instelling maar meetstal is er ook wel een script work arround voor. Zoniet dan zit ik straks bij Professional Networking & Servers.
Voor nu mijn functie om 1 directory uit te lezen.

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    private void SearchDir(string path) {
 
     if(Directory.Exists(path)) {
            foreach(string s in Directory.GetFileSystemEntries(path)) {
            
                DataRowView tmp = files.AddNew();
                FileInfo fi =  new FileInfo(s);
                if (fi.Attributes == FileAttributes.Directory) {
                     tmp["name"] =  ReadAbleFilename(fi.Name);
             tmp["truename"] = fi.Name;
                     tmp["path"] = path+"/"+fi.Name;
                     tmp["size"] = "";
                     tmp["img"] = "./Images/folder.gif";
    
                }
                else {
                 tmp["name"] =  ReadAbleFilename(fi.Name);
                 tmp["truename"] = fi.Name;
                 tmp["path"] = path+"/"+fi.Name;
                 tmp["size"] = ReadAbleFilesize(fi.Length);
                 tmp["img"] = "./Images/file.gif";
    
                }
            }
        }
    }

M'n iss instelling zijn voor de pagina vrij los ( read, directory browsing, Application protection op low, execute permissions op scripts only)

[ Voor 8% gewijzigd door Verwijderd op 30-09-2003 20:35 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Wat doet het niet? :? En IIS heeft er vooralsnog weinig mee te maken...
* gorgi_19 mompelt iets over het Trace object en debuggen...

[ Voor 28% gewijzigd door gorgi_19 op 30-09-2003 20:23 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ben geen master van tracen en debuggen. eerlijkgezegd kan ik het (nog) niet.
Echter is
a ) de code goed. Dit heeft webmatrix bewezen.
b ) er komt geen error. Uit onderzoek blijkt dat ie het path (wat bestaat) niet herkent als directory

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 30 september 2003 @ 20:31:
Ben geen master van tracen en debuggen. eerlijkgezegd kan ik het (nog) niet.
Echter is
a ) de code goed. Dit heeft webmatrix bewezen.
b ) er komt geen error. Uit onderzoek blijkt dat ie het path (wat bestaat) niet herkent als directory
http://msdn.microsoft.com...contracefunctionality.asp

Aangezien Webmatrix afaik geen debugging modus kent, met breakpoints, zul je het met tracing op moeten lossen. :) Zo kan je nagaan wat er op welk moment gebeurt, en wat de inhoud van variabelen is.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Ik snap iets niet.... Je vergelijkt WebMatrix (wat een IDE is), met IIS (wat een webserver is)?
Als je een ASP.NET dat je gemaakt hebt in WebMatrix wilt runnen, heb je ook IIS nodig...

Als je er van overtuigd bent dat het niet met de code te maken heeft, dan hoort dit topic eerder in Software Algemeen thuis.

Verder:
wat is 'het niet doen'? Welke error krijg je?
Leest het ASP.NET programma een directory uit die zich buiten de application-boundary van je app bevindt of zich niet in een Virtuele directory bevindt?

Zoja, geef dan de ASPNET user eens rechten op die directory die je wilt uitlezen.

[ Voor 33% gewijzigd door whoami op 30-09-2003 21:19 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Zoals ik al vertelde krijg ik geen error. Mijn script functioneert gewoon weg niet. Terwijl met een andere webserver(webmatrix) het script wel functioneerde.
Het 'het niet doen' is het herkennen van het pad ("./files") als een bestaande directory (regel drie in bovenstaande regel is false). Dit deed het script wel tijdens het locaal testen met de webserver van webmatrix.

De directory bevindt zich in de map van de virtual directory. En het script staat in een map die zich in de aplicationmap bevindt (net zoals de directroy die ik wil uitlezen)

Tot slot, mocht ik nu nog niet duidelijk zijn dan neem ik alle blaam op me en zal ik eerst zelf (nog) eens gaan zoeken voor dat ik hier weer post.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Maar webmatrix is geen webserver :?

Verder zie ik dat je je path gaat gaan concatten dmv string concatenation. Misschien kan je eens naar de Path class kijken, en dan specifieker naar de Combine method.

Daarnaast worden files en directories gescheiden met een \ en niet met een / op Windows systemen, en misschien moet je ook eens kijken naar Server.MapPath.

https://fgheysels.github.io/


  • Scharnout
  • Registratie: November 2000
  • Laatst online: 19-08 17:23

Scharnout

Meuk

Bij webmatrix zit dacht ik een aparte webserver: Cassini ofzo. Ik denk dat hij dat bedoeld.

Verder zou je eens kunnen proberen met "//files" ipv "/files" / is namelijk ook een escape character.

En verdiep je inderdaad in debugging. Als je echt serieus met iets wil bezig zijn, is debugging je vriend. De link hierboven naar Trace is een perfect begin daarvoor.

Debugging != topic openen op GoT :)

edit:

Shit whoami had al slimme dingen gemeldt over path. Beter lezen ik

[ Voor 13% gewijzigd door Scharnout op 01-10-2003 09:57 ]

And Bob's your uncle ...


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
/ is geen escape character of een character dat je hoeft te escapen afaik

https://fgheysels.github.io/


  • Scharnout
  • Registratie: November 2000
  • Laatst online: 19-08 17:23

Scharnout

Meuk

whoami schreef op 01 October 2003 @ 10:00:
/ is geen escape character of een character dat je hoeft te escapen afaik
ben ik dan in de war met \ ?

Want voor mijn mailattachment moest ik gisteren toch echt "c:\\path\\file.pdf" doen.

And Bob's your uncle ...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Scharnout schreef op 01 October 2003 @ 11:31:
[...]


ben ik dan in de war met \ ?

Want voor mijn mailattachment moest ik gisteren toch echt "c:\\path\\file.pdf" doen.
Klopt, maar je kon geloof ik ook @ voor de string zetten, maar da's C#, da's eng voor mij en durf ik dan ook niet met zekerheid te zeggen. :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
gorgi_19 schreef op 01 October 2003 @ 11:32:
[...]

Klopt, maar je kon geloof ik ook @ voor de string zetten, maar da's C#, da's eng voor mij en durf ik dan ook niet met zekerheid te zeggen. :P
Je kunt 2 dingen doen:
code:
1
string s = @"c:\blaat";

of
code:
1
string s = "c:\\blaat";

https://fgheysels.github.io/

Pagina: 1