Avatar billede snowfreak Nybegynder
23. juni 2003 - 18:55 Der er 10 kommentarer

IIS 5.1 Server giver intet response

Hej ekspertet,

Jeg er ved at lære mig selv asp og har den anledning taget html.dk's tutorial. Jeg er imidlertidigt støt på et problem. Jeg har installeret IIS 5.1 på min win maskine og har med stor succes lavet mine første asp sider med cookies, sessions, databasemanipulation mm. Mit problem opstår i det øjeblik hvor jeg prøver at læse eller skrive til filer. For at illustrere mit problem har jeg lånt et eksempel fra <a target='_blank' href='http://www.html.dk/tutorials/asp/lektion15.asp'>html.dk's asp tutorial lektion 15:</a>

----------------------------------

<html>
<title>Læse fra tekstfiler</title>
<head>
</head>
<body>
<%
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("/mysite/ministerier.txt")
Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
Do While not f.AtEndOfStream

' Lav array ved at splitte ved kommaer
  arrM = Split(f.ReadLine,",")

' Skriv links - hent oplysningerne i array
  Response.write "<li><a href='http://" & arrM(1) & "'>" & arrM(0) & "</a></li>"
Loop

f.Close
%>
</body>
</html>

----------------------------------------

Ovenstående kode er gemt i filen test.asp som ligger i mappen C:\Inetpub\wwwroot\mysite. I denne mappe ligger filen tutorial.txt også - det er den fil jeg vil læse fra. Når jeg prøver at åbne siden test.asp (http://127.0.0.1/mysite/test.asp) sker der intet, serveren går ligesom i stå og siden bliver aldrig åbnet!

IIS er konfigureret med standard konfigurationen. Tutorial.txt's read/write attributter er ok. Hvad gør jeg forkert?

På forhånd tak!
Avatar billede ellebaek Nybegynder
23. juni 2003 - 22:56 #1
<html>
<title>Læse fra tekstfiler</title>
<head>
</head>
<body>
<%
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("tutorial.txt")
Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
Do While not f.AtEndOfStream

' Lav array ved at splitte ved kommaer
  arrM = Split(f.ReadLine,",")

' Skriv links - hent oplysningerne i array
  Response.write "<li><a href='http://" & arrM(1) & "'>" & arrM(0) & "</a></li>"
Loop

f.Close
%>
</body>
</html>


Prøv dette...
Avatar billede snowfreak Nybegynder
24. juni 2003 - 10:41 #2
Desværre, virker ikke! - Har iøvrigt prøvet mange forskellige kombinationer af linien: filespec = Server.Mappath("ministerier.txt") - de gør alle det samme!

OBS: filen jeg ønsker at læse fra er selvfølgelig ministerier.txt og ikke tutorial.txt som jeg kom til at skrive i første indlæg - havde lige en mindre hjerneblødning...

Jeg mistænker at det er linien: Set f = fso.OpenTextFile(filespec,1) som er skyld i mine problemer, linien med Server.Mappath("") bruger jeg med succes på andre sider!
Avatar billede ellebaek Nybegynder
24. juni 2003 - 20:16 #3
og du er sikker på at filen er tilgængelig ??
Avatar billede snowfreak Nybegynder
25. juni 2003 - 11:41 #4
Ja, filen er 100 % tilgængelig. I øvrigt er det lige meget hvilken fil jeg prøver at tilgå, serveren nægter bare at åbne dem - også selvom der kun skal læses fra filen.... Det er meget underligt!

Jeg vil bruge det upload script som findes på: http://www.freeaspupload.net - Dette script består af to filer hvor den ene includer den anden, når jeg prøver at bruge dette script sker der præcis det samme som i eksemplet ovenfor - server død....
Scriptet validerer om: mapname = Server.Mappath("\mymap\upload") findes og giver en fejlmeddelse hvis stien er forkert. Hvis jeg angiver en forkert sti virker scriptet og kommer med en fejlmeddelse! Angiver jeg en sti til en folder som ikke findes går serveren i stå! Jeg forstår det simpelthen ikke - jeg vil gerne give nogle ekstra point til den som kan løse mit problem!
Avatar billede snowfreak Nybegynder
25. juni 2003 - 11:44 #5
ups! - Den anden sidste linie skal selvfølgelig være: Angiver jeg en sti til en folder som FINDES går serveren i stå! Jeg forstår det simpelthen ikke - jeg vil gerne give nogle ekstra point til den som kan løse mit problem!
Avatar billede the_bma_man Nybegynder
17. juli 2003 - 19:41 #6
Kunne du ikke lige prøve at udskrive variablen filespec og se, om den faktisk er det fysiske sti, du forventer?
For ellers ser det nu umiddelbart ud til at skulle virke.
Avatar billede ellebaek Nybegynder
17. juli 2003 - 21:18 #7
jeg har prøvet dit script på min computer, og det virker som det skal.

du skal huske at benytte "/" i servar.mappath("")
Avatar billede snowfreak Nybegynder
19. juli 2003 - 13:56 #8
Jeg ved desværre ikke hvorfor det ikke virker på min computer. Jeg har sørget for at oprette en "Internet Guest Account" i den pågældende folder (inherited fra roden) med fuld access control - så det burde være i orden.

Hvis jeg udskriver variablen filespec med følgende kildekode:
filespec = Server.Mappath("ministerier.txt") får jeg den helt rigtige sti - c:\inetpub\wwwroot\mysite\ministerier.txt

Hvis jeg gør som ellebaek foreslår får jeg IKKE den rigtige sti, men derimod følgende: c:\inetpub\wwwroot\ministerier.txt

Serveren "går i stå" når jeg udfører følgende kode: Set f = fso.OpenTextFile(filespec,1) og kun når denn linie er indkluderet!
Jeg mistænker at fejlen lægger i selve serveren - er det en kendt bug i IIS 5.1 til WinXP PRO SP2?

Jeg håber at der er en som kan hjælpe!
Avatar billede ellebaek Nybegynder
13. august 2003 - 11:10 #9
<html>
<title>Læse fra tekstfiler</title>
<head>
</head>
<body>
<%
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = "c:\inetpub\wwwroot\mysite\ministerier.txt"
Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
Do While not f.AtEndOfStream

' Lav array ved at splitte ved kommaer
  arrM = Split(f.ReadLine,",")

' Skriv links - hent oplysningerne i array
  Response.write "<li><a href='http://" & arrM(1) & "'>" & arrM(0) & "</a></li>"
Loop

f.Close
%>
</body>
</html>


Prøv på denne måde... Så kan du se om det virker og at det ikke er server.mappath der laver en fejl!
Avatar billede snowfreak Nybegynder
13. august 2003 - 17:13 #10
Virker desværre heller ikke.

Serveren "går i stå" når jeg udfører følgende kode: Set f = fso.OpenTextFile(filespec,1) og kun når denne linie er indkluderet! Er denne linie samt loopet udeladt loader siden fint, dog uden den info som jeg egentlig gerne vil have frem. :(

Måske jeg har sat hele IIS op forkert, kan heller ikke se siden http://127.0.0.1/localstart.asp, her bliver jeg bedt om et brugernavn og password - ikke noget som jeg har rodet med....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester