Avatar billede bhlj Nybegynder
08. maj 2008 - 23:05 Der er 9 kommentarer og
2 løsninger

Kan man "hardkode" Application variable i IIS

Mit spørgsmål er umiddelbart ret simpelt:

Istedet for at kode diverse application variable i global.asa kunne jeg godt tænke mig at finde ud af om man kan "hardkode" disse på IIS'en ved at sætte nogle parametre for den application/website som peger på min kildekode.

Grunden til min forespørgsel er at jeg har to forskellige websites i IIS, som jeg gerne vil have til at tilgå den samme asp-kode.. blot med den forskel at jeg gerne vil tvinge koden til at køre med forskellige sprog (norsk/dansk) afhængigt af hvilket website/domæne man kommer fra???
Avatar billede arne_v Ekspert
09. maj 2008 - 01:08 #1
Hvorfor ikke sætte en variabel i Application udfra domain ?
Avatar billede bhlj Nybegynder
09. maj 2008 - 11:43 #2
kan du uddybe den lidt??
Avatar billede arne_v Ekspert
11. maj 2008 - 03:26 #3
<Script Language="VBScript" RunAt="server">
Sub Application_OnStart
    dir = Server.MapPath("/")
    parts = Split(dir, "\")
    Application("APP") = parts(ubound(parts))
End Sub
</Script>

sætter ApplicatioN("APP") til sidste del af root dir.
Avatar billede arne_v Ekspert
11. maj 2008 - 03:26 #4
Du må kunne bestemme site udfra dir.
Avatar billede arne_v Ekspert
11. maj 2008 - 03:27 #5
Og udfra site kan du sætte sprog.

Eller har jeg misforstået noget ?
Avatar billede bhlj Nybegynder
11. maj 2008 - 18:40 #6
Måske skal jeg forklare lidt:

Jeg har to forskellige sites, som før pegede på hver sin mappe med ASP-kode osv. Kode er ens for begge sites og derfor vil jeg gerne gøre det lidt nemmere at vedligeholde ved blot at have koden liggende ét sted.

Tidligere havde hvert site sin egen global.asa med en applikationsvariable ("ldbid") som angav sproget osv.. Således er koden alså ens for begge sites, men det ene site (site1) kører med norsk og site2 kører med dansk.

Med den nye løsning vil jeg stadig have to sites i IIS, men de skal blot pege på den samme mappe med kode. Men det gør jo at jeg ikke længere kan definere i global.asa hvilket sprog der skal loades.

Derfor kunne jeg godt tænke mig at tilrette mine ASP-sider så de selv kan finde ud af hvilket af de to sites man kommer fra.. og derudfra loade det rigtige sprog.

jeg kunne self teste det med nedenstående stump kode - men jeg var bare nysgerrig efter om man istedet kunne sætte en application variable direkte i IIS istedet for i kode (så jeg måske kunne undgå at skulle rette i koden til alle mine sider).

if instr(request.servervariables("url"), site1) then
//load sprog 1
else
//load sprog 2
end if
Avatar billede arne_v Ekspert
11. maj 2008 - 19:06 #7
Netop. Det er det som jeg mener at du kan løse som jeg har beskrevet.

Du laver en global.asa hvor du tester på web applikationens dir og sætter din sprog
variabel udfra det.

Så kan du bruge samme global.asa for de to web sites.
Avatar billede arne_v Ekspert
31. august 2008 - 02:36 #8
bhlj ?
Avatar billede bhlj Nybegynder
31. august 2008 - 16:21 #9
Jeg beklager den manglende respons, men jeg har været totalt fraværende af flere grunde..

Nåmen jeg fik løst problemet, dog på en anden måde da vi endte med en anden løsning på samkøringen af de to sites.

Under alle omstændigheder takker jeg for din respons, og du får point'ene som jeg udlovede :-)

Beklager endnu engang min manglende respons..
Avatar billede bhlj Nybegynder
31. august 2008 - 16:26 #10
damn.. nu kan jeg ikke få den til at acceptere så jeg kan tildele dig points.. (måske fordi jeg skrev det forrige indlæg som et svar??)

kan du ikke lige skrive et svar så jeg kan acceptere det istedet?? Sorry..
Avatar billede arne_v Ekspert
31. august 2008 - 16:32 #11
svar
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
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

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