Avatar billede carstenandersen Nybegynder
09. august 2013 - 06:15 Der er 8 kommentarer og
1 løsning

error '8000d001'

Hej eksperter

Jeg har fået et "mystisk" problem, som jeg virkelig håber, at I lige kan gennemskue ;-)

En stor side er for overskuelighedens skyld bygget op med mange includes, f.eks. <!-- #include virtual="/filnavn.asp"--> eller <% Server.Execute("/filnavn.asp") %>. Da jeg tilføjede endnu en include, gik det hele pludseligt i fejl med error '8000d001' og med henvisning til en linie 66, som er den første <% Server.Execute("/filnavn.asp") %>.

Stien til den nye fil er med sikkerhed korrekt, og filen korrekt en .asp-fil, da det virker, hvis filens simple indhold f.eks. blot er:

dd

men tilføjer jeg f.eks. det meget simple asp kode <p><% Response.Write "kkk" %></p>, så fejlen det hele???? Kan en side have for mange includes? For mange Server.Execute? Andet?

På forhånd tak.
Avatar billede carstenandersen Nybegynder
09. august 2013 - 07:29 #1
Fandt dette indlæg http://bytes.com/topic/asp-classic/answers/102027-too-many-include-files-causing-iis-500-error

Er der en max-grænse for antal includes?
Avatar billede softspot Forsker
09. august 2013 - 08:15 #2
Har du nogle includes som refereres relativt? I så fald, er Allow Parent Path's slået til i din IIS opsætning?

Kan du evt. prøve at samle et par af dine includes i én fil, eller lægge koden fra en includefil direkte ind i den side der ikke fungerer (om ikke andet så bare for at teste om det løser problemet)?

Hvormange includes har du i siden?

Er der nogen includes, som inkluderer andre filer?

Er der filer som er inkluderet flere gange?
Avatar billede carstenandersen Nybegynder
09. august 2013 - 08:33 #3
Jeg har sindsyg mange includes, og mange inkluderer også andre includes ;-) Jeg vil prøve at lave en stor "oprydning" og så se, om det ikke hjælper.

Vender tilbage med "status" ;-)
Avatar billede carstenandersen Nybegynder
09. august 2013 - 18:59 #4
"Oprydningen" har givet grå hår i hovedet ;-)

Sikker mange includes, og mange af disse filer inkluderer andre. Endda flere filer, som inkluderes flere gange, UPS

Godt råd til at styre kildekode, som fylder mange mange tusind linier?
Hvordan kan en files inkluderes flere gange "uden skade"?

Virkelig på forhånd tak :-)
Avatar billede softspot Forsker
10. august 2013 - 10:14 #5
Jeg har desværre ikke kendskab til, at der, som i visse andre sprog, skulle findes konstruktioner som #define og #ifdef i ASP/VBScript, så den feature kan du desværre nok ikke læne dig op ad. Du kan dog få lov til at definere samme funktion to gange, hvilket måske kan redde dig lidt (fra en gennemgribende oprydning i din kodebase på kort sigt :-)). Det kræver dog, at dine includes kun indeholder funktioner/subs og ikke kode som udføres inline. Det vil i så fald være den sidst definerede funktion/sub der kaldes, så du skal være opmærksom på dette forhold, når du får sære/uventede fejl i din kode... :-)

Jeg har selv brugt en del år i ASP-miljøet og har selv haft en del overvejelser om, hvordan man kunne strukturerer includes på en hensigtsmæssig måde. Jeg fandt aldrig en tilfredsstillende løsning! Det er begrænset, hvad man kan gøre med de standardfeatures der er til rådighed, ud over, naturligvis, at holde sine sider fokuserede og lade være med at forsøge ting, som ASP ikke var tiltænkt (skift i stedet til noget mere tidssvarende, som f.eks. ASP.NET MVC, hvor du også får en masse "foræret" ifht. features og sikkerhed).

Hvis du virkelig SKAL bruge ASP og gerne vil lave mere komplekse sider, kan du måske kaste dig over COM-komponenter, f.eks. via VB eller mere scriptorienteret Windows Script Components (WSC), men det giver nogle andre udfordringer, som, specielt i et hosted miljø, nok er lidt svære at finde løsninger på.

Jeg er lidt nysgerrig efter at høre, hvad det er for et system, der byder dig at have flere tusinde linjers kode i én ASP-side. Kan, må og vil du løfte sløret lidt for det?
Avatar billede carstenandersen Nybegynder
10. august 2013 - 12:05 #6
Tusind tak for meget brugbart svar :-)

I 2007 startede jeg på et "hygge-cms-projekt", som med årene stille og roligt har vokset sig større og større med de nu tilsvarende "kode-udfordringer" ;-) Sidens navn vil jeg helst ikke lige skrive her, da denne tråd jo indekseres i Google.

Jeg har flere gange overvejet et skift til asp .net, men da jeg er "selvudlært" i asp, bliver det nok en større omgang. Har du nogle gode steder på nettet, hvor du kan anbefale mig at starte i forhold til et evt. skift til .net?

Ellers er det vist i første omgang bare at tage arbejdstøjet på, og få kigget på de mange inkluderinger.

Tusind tak for din rigtig gode hjælp :-) Husk at smide et svar.
Avatar billede carstenandersen Nybegynder
10. august 2013 - 12:55 #7
Lige et tillægsspørgsmål ;-)

Kom til at se, at jeg faktisk har samme include, f.eks., <!-- #include virtual="/filnavn.asp"--, til at stå 8 gange i kildekoden! Den bruges i mange if - else, alt efter valg af menu, indhold osv.

Er det så 8 x kode i cache IIS? Se mit tidligere spørgsmål her på eksperten http://www.eksperten.dk/spm/971046#reply_7994596 I #1 står der "... resten af tiden benytter IIS cachens oversatte version". Når jeg nu får fejl ved blot at tilføje endnu 1 include, er det så reelt udtryk for, at der ikke er mere memory i cachens oversatte version?

Virkelig på forhånd tak :-)
Avatar billede softspot Forsker
10. august 2013 - 13:22 #8
Velbekomme!

Hvis der er yderligere jeg kan hjælpe med, så skriv endelig her i tråden eller direkte på mail (via eksperten).

Du kan starte på asp.net (www.asp.net/get-started), hvor du finder en masse artikler, videoer og andet godt om og til frameworket. Jeg kan varmt anbefale at kaste dig over det. Det er så meget mere solidt end ASP Classic. Dog skal du forberede dig på, at skulle lære (mindst) et nyt sprog (også selvom du skulle vælge VB.NET), men hvis du kan lide en udfordring... :-)

Bort set fra det, så er der en fremtid i at kunne ASP.NET, hvilket nok ikke kan siges om ASP Classic.

Husk i øvrigt, at det ikke behøver at koste noget at udvikle til ASP.NET. Du kan få 10 gratis sites i skyen (med begrænsninger naturligvis, men fint til at køre et lavintensitetssite på). Se mere på www.windowsazure.com/da-dk/services/web-sites/

Udviklingsmiljøet er ligeledes ganske gratis. De to grønne knapper på "Get started"-siden jeg henviste til, hjælper dig med at installere miljøet for dig.

Mht. dit tillægsspørgsmål, så er det da en nærliggende tanke, at cachen ikke kan rumme større sider, men der kan være mange grunde til at det ikke fungerer. Det er svært at diagnosticere uden en indgående analyse af, hvad der sker på serveren, uden det bliver rent gætværk.
Avatar billede carstenandersen Nybegynder
11. august 2013 - 06:59 #9
Det ser ud til, at jeg kan "sætte plaster på såret" ved hjælp af Server.Execute :-) Og så må jeg nok hellere snart til at skifte kodesprog ;-) Tusind tak for link og din hjælp!
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