[ASP] OpenTextFile werkt niet in IIS5.1?

Pagina: 1
Acties:

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 27-05 21:11

CmdrKeen

Krentenboltosti

Topicstarter
Gezocht op: MSDN; MSBK; ASP101; 4Guys; AskASP; W3Schools; GoT; IIS-helpfiles; enz.. Gecontroleerd dat de textfile bestaat en dat de rechten in orde zijn ("iedereen" en "IUSR_mijncomputernaamhier" hebben volledig rechten).
----------------------------------
Iets wazigs: de volgende code werkt prima op Windows NT 4 Server met IIS 4 maar niet op Windows XP Pro met IIS 5.1:
code:
1
2
3
4
5
6
7
8
   Dim fs, f

   Set fs=Server.CreateObject("Scripting.FileSystemObject")
   set f = fs.OpenTextFile(Server.MapPath("test.txt"), 1)

   f.close
   set f=nothing
   set fs=nothing

Probleem bij IIS5.1: bij het openen van de pagina blijft de browser oneindig lang laden. Als ik de derde regel code ("set f = fs.OpenTextFile" enz.) weghaal (en dan ook die erna natuurlijk) dan gaat het goed. Het lijkt erop dat OpenTextFile niet ondersteund wordt door IIS5.1, maar dat kan toch niet zo zijn? IIS5.1 zegt ASP 3.0 volledig te ondersteunen.

Ik heb al alle antivirus-software ge-uninstalled. Zelfde code, zelfde rechten, maar het werkt alleen onder NT4 met IIS4. GetFile i.p.v. OpenTextFile geeft het zelfde probleem. Wat kan er aan de hand zijn?

Bloed, zweet & koffie


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

scripting.filesystemobject zit volgens mij niet in ASP, maar in vbScript. Zou het kunnen dat er een oude scripting engine staat, of dat er patches voor zijn op windowsupdate :?

Overigens hoeft jouw computername geen rechten te hebben, maar de internetUnknown user. Zou niet uit moeten maken trouwens, omdat je "iedereen" al alle rechten hebt gegeven..

kaart != map && bottel != fles
Wacht op antwoord


  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 27-05 21:11

CmdrKeen

Krentenboltosti

Topicstarter
Op dinsdag 04 juni 2002 14:21 schreef j_du_pee het volgende:
scripting.filesystemobject zit volgens mij niet in ASP, maar in vbScript. Zou het kunnen dat er een oude scripting engine staat, of dat er patches voor zijn op windowsupdate :?
Alle mogelijke patches en updates geïnstalleerd.
Overigens hoeft jouw computername geen rechten te hebben, maar de internetUnknown user. Zou niet uit moeten maken trouwens, omdat je "iedereen" al alle rechten hebt gegeven..
Weet ik, maar het leek me nuttig om het zekere voor het onzekere te nemen. De Internet Guest Account heeft dus ook alle rechten. Ik denk trouwens niet dat het een rechten-kwestie is, want dan had ik een foutmelding moeten krijgen, en die krijg ik niet.

Bloed, zweet & koffie


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Weet je zeker dat alle restjes NAV wegzijn? En ik neem dat je al gereboot hebt na verwijdering. :o

Verwijderd

Ik heb jouw code 'ns op mijn machine geprobeerd (ook XP en IIS5.1), maar ik krijg precies dezelfde response! Er zit dus weldegelijk iets fout met die code. Maar wat...?

Verwijderd

Hmmm, ik ben nog 'ns verder gaan spitten. De MSDN library geeft het volgende voorbeeld:
code:
1
2
3
4
5
6
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
  f.Write "Hello world!"
  f.Close

Er zit een klein verschilletje in met jouw code, maar werken doet dit bij mij ook niet. Wat ik denk is dat je het .NET Framework hebt geïnstalleerd. Dit heb ik namelijk ook (ben ook update-geil :P). Hierdoor is de asp.dll op je machine vervangen door een andere dll die deze code uitvoert.

Ga 'ns naar je IIS, en vraag de properties op van 'Websites'. Op de tab 'ISAPI filters' zie je dan onderaan het rijtje ASP.NET_1.0.3705.0 staan. Dit is de dll die alle asp-code verwerkt. En dus hoogstwaarschijnlijk de bron van alle 'ellende'. Je moet je code dus of naar ASP.NET omschrijven of je moet je oude vertrouwde asp.dll aan het rijtje filters toevoegen... Dat laatste is tricky, maar veel succes...

:7

Verwijderd

ehh asp.net heeft een .apsx extensie, alles wat .asp is word gewoon door de oude vertrouwde interperter geinterperteerd. Probleem is al vaker langs gekomen, had iets met 'n norton firewall of antivirus te maken als ik me niet vergis, search maar ff je vind 't gegarandeerd ;)

[edit]
zelf even gezocht, norton antivirus waarschijnlijk geinstaleerd met de script blocker feature enabled.

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 27-05 21:11

CmdrKeen

Krentenboltosti

Topicstarter
Hey Yarvieh, de oplosser van mijn voorgaande problemen :)
Ook als Script Blocking en Auto-Protect uit staan, blijft het probleem. Als dat het probleem was geweest, had ik waarschijnlijk ook geen databases kunnen updaten e.d..

Ik heb deze code op drie XP-machines geprobeerd, waaronder één met het .NET Framework geïnstalleerd de andere twee dus niet. Bovendien: ASP 3.0 wordt volledig ondersteund door .NET.

Bloed, zweet & koffie


Verwijderd

Zou je toch voor mijn innerlijke rust es kunnen testen met Norton helemaal uitgeschakeld?

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Dat het voorbeeldje van MSDN niet werkt lijkt we duidelijk; deze wil een bestandje aanmaken op de c:\ root directory (en ik hoop van harte dat je IUSR_account daar geen schrijfrechten op heeft... :)

Maar alle schrijfrechten in IIS (virtual dir) goed ingesteld, evenals schrijfrechten in NTFS?

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1