Jeg forstår ikke hvad der er galt, kan det være noget jeg ikke har sat ordentligt op i min iis, (jeg har lige installeret den og er ret nybegynder indenfor iis. hvis jeg uploader siden til min webhoteludbyder, er der ingen problemer.....
Til nmh! Jeg har forsøgt at fjerne / som du foreslog, og det virkede ikke. Hvis jeg fjerner / på min webudbyders server, vil filen slet ikke åbne og jeg er da også ret sikker på at den skal være der da den ellers vil mangle imellem serverroden og mappenavnet. (jeg prøvede det selvfølgelig også med min Norton slået fra.)
Til medions! Jeg bruger Norton, men det hjalp ikke at slå den fra.
Når jeg uploader siden til min webudbyder (buydomains) virker siden fint. men hvis jeg kører den selvsamme side på min lokale iis sker der intet - ingen fejlmeddelelse, eller noget, IE står bare og forsøger at åbne siden.
Jeg må indrømme, jeg også ville have troet / skulle være der, men mit eksempel virkede først, da jeg fjernede den. Prøv med en fil i samme katalog som din asp-side, så der nu står: filespec = Server.Mappath("asdf.asp")
Det er nu prøvet, og heller ikke det hjalp. Jeg er ret sikker på at det er noget med iis på min maskine, for hvis jeg prøver fra buydomains servere, så virker det fint.
Nu er det lige jeg blev tabt... Jeg er ret novice mht. iis så hvis der skal gøres noget specielt for at få det til at kunne køre netop den slags scripts, så har jeg ikke gjort det. Det skal siges at hvis jeg skriver: http://computernavn/fil.asp så åbnes den fil jeg reguester, men det er den specifikke kode der får iis til at stoppe. Jeg har andre filer der bruger noget kode, som godt kan åbnes: fx. "include" af en anden fil i dokumentet.
Dvs du har ellers ingen problemer med at få dine asp-sider til at køre? Prøv så at skrive den komplette sti til din fil. Altså f.eks.: filespec = "d:\minfil\kat1\dan\asdf.asp" (det vil så ikke køre hos din webudbyder, men måske på din egen maskine)
Nu har jeg prøvet at køre dit script på min egen maskine med IIS installeret. Og så her gik det galt med den første '/', men ellers virker det som det skal. Prøv at lave et nyt virtuelt katalog. Gå ind i kontrolpanelet vælg administration. Åben Internet Information Services. Nu kan du administrere IIS. Højreklik på Standardwebsted og vælg ny. Og tilføj så et katalog et eller andet sted på din maskine som et virtuelt katalog. Hvis du giver det aliasnavnet kat1, Så vil en asp-side i dette katalog startes således: localhost/kat1/minside.asp
Kunne det tænkes, at du ikke har givet anonym adgang til brugere (mappesikkerhed i din standardwebserver).
Jeg har lavet en virtuel mappe, det hjalp ikke. Der er anonym adgang, og desuden kan jeg jo godt åbne andre filer med kode. Det er bare her der går noget galt Jeg har fx. ingen problemer med flg. <% Response.Write "This is a test ASP page." %> Så hvor fejlen helt nøjagtigt ligger aner jeg ikke. Jeg har forsøgt af/geninstallation. installation af alt incl. ftp, mail, osv. men intet har hjulpet. Jeg kan simpelthent ikke få det til at virke. Hvordan kan man se en evt, logfil af hvad der sker?
Prøv et andet lille program, er bruger filsystemobjektet: <%Option Explicit Dim fso, MyFile Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile = fso.CreateTextFile("D:\kat1\testfile.txt", True) MyFile.WriteLine("This is a test.") MyFile.Close %> Det kræver at alle har skriverettigheder det pågældende sted (her d:\kat1)
Du har vist skrevet andet end det jeg foreslog. Det var meningen din asp-fil kun skulle indeholde <%Option Explicit Dim fso, MyFile Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile = fso.CreateTextFile("D:\kat1\testfile.txt", True) MyFile.WriteLine("This is a test.") MyFile.Close Response.write("Det gik godt") %>
Du har taget mere med siden der står noget om linie 9. Option Explicit kan du godt fjerne. Jeg sætter det altid for at lette fejlfinding. Når denne ordre er med kræves at alle variable er erklæret i en dim-sætning. Det mindsker fejlene, og siden vil ogås køre en lille smule bedre.
Jeg har selvfølgelig et par html koder med head+body og det. ellers ikke noget Så har jeg ændret d: til c: (d: er cdrom hos mig) og en ny sti. ellers ikke noget. - kopieret direkte over. jeg har nu forsøgt en fil med kun flg. indhold: <%Option Explicit Dim fso, MyFile Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile = fso.CreateTextFile("c:\inetpub\wwwroot\testfile.txt", True) MyFile.WriteLine("This is a test.") MyFile.Close Response.write("Det gik godt") %> Og intet andet, heller ikke head, body eller noget. Samme resultat. ingen fejlmeddelelse eller noget. Den ståe bare og forsøger at åbne siden......
Det er som om Filsystemobkektet giver problemer. Det ville være interessant at se om du heller ikke kan køre de tilsvarende VBscript-programmer. Prøv at tage koden, du startede spørgsmålet med. Fjern <% og %>. Erstat Response.write med MsgBox Gem som en fil med navnet test.vbs. Nu kan du køre dette program, ved blot at klikke på ikonet.
hvilket så giver mig flg. fejlmeddelelse: script: C:\inetpub\wwwroot\test.vbs Linje: 2 Tegn: 1 Fejl: Et objekt er obligatorisk: 'server' Kode: 800A01A8 Kilde: Der opstod en Microsoft VBScript-kørselsfejl
Jeg brugte flg kode: Dim fso, f, filespec filespec = Server.Mappath("/test.asp") Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile(filespec) Response.Write "<h1>Filen: " & filespec & "</h1>" Response.Write "<p>Blev oprettet: " & f.DateCreated Response.Write "<p>Er sidst redigeret: " & f.DateLastModified Response.Write "<p>Og fylder " & f.Size & " bytes"
min fejl, jeg glemte at der skal rettes noget mere. Men du må ikke have response.write. I VBscript direkte på maskinen skal du skrive msgbox istedet. Så kommer der en boks op med udskriften. 2 sek, så kommer jeg med en yderligere rettelse.
Jeg rettede - Server.Mappath - til den direkte sti, til filen. Og Response.Write til Msgbox Så kunne jeg sagtens køre den, og den kom med det hele i fire efterfølgende meddelelsesbokse..... Så umiddelbart er problemet ikke VBScript på systemet generelt, men i IIS...
Jeg fik postet før du kom med dit nye script. Dette her virkede: Dim fso, f, filespec filespec = ("c:/inetpub/wwwroot/test.asp") Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile(filespec) msgbox "<h1>Filen: " & filespec & "</h1>" msgbox "<p>Blev oprettet: " & f.DateCreated msgbox "<p>Er sidst redigeret: " & f.DateLastModified msgbox "<p>Og fylder " & f.Size & " bytes" ------------- Html koderne stod bare ogsp i boksen som skrift.
Tja, så blev mit problem løst. Jeg kan desværre ikke sige hvad det var, men må konstaterer at det hjalp men en geninstallation af hele maskinen......... Jeg har fået meget hjælp og er blevet meget klogere, så poinys uddeles i forholdet 80/20 for indsatsen med at indkredse problemet. nmh 80 point medions 20 points. (er nogen utilfredse så skriv lige, så kan vi finde ud af det)
Nå, det var da godt, "der kom hul på bylden" med en geninstallation. Der må åbenbart værer gået noget galt i forbindelse med filsystemobjektet, men det har været en ret mystisk affære. Som jeg plejer at sige: Vi arbejder i et område kendetegnet ved, at det ikke skal være for let. :o)
Takker for point.
Synes godt om
Ny brugerNybegynder
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.