Gå til innhold

ASP: ASP Classic: Noen forskjell på hvordan den kjører på 32 og 64 bit Windows?


Anbefalte innlegg

Jeg har - som et eksperiment - installert en 64 bits versjon av Windows 7 RC på BootCamp på min MacBook Pro.

 

Nå er en av formålene med å ha Windows på maskinen å kjøre IIS og MySQL så jeg kan teste vår ASP kode lokalt under utvikling. Men på vår produksjonsserver kjøres en eldre Windows versjon og så vidt jeg forstår en 32 bits MySQL også av noe eldre versjon.

 

Er dette et risikabelt eksperiment? Vil ASP oppføre seg anderledes på min maskin, og dermed gi meg ubhagelige overraskelser på serveren når jeg installlerer det der?

 

Edit: Merk at dette er ASP Classic, ikke .net.

 

Geir :)

Endret av tom waits for alice
Lenke til kommentar
Videoannonse
Annonse

Tror du kanskje kan få større problemer med å få MySQL til å funke under 64-bit enn omvendt.

Ærlig talt har jeg aldri brukt 64-bit IIS i noen stor grad, så mer enn at 32-bit og 64-bit ikke kan blandes, så har jeg lite å fare med.

 

Pass bare på at MySQL bibliotekene er av samme versjon, men det sier vel seg selv.

Lenke til kommentar

Du bør vel sjekke hvilken windows versjon og IIS versjon som gjelder for produksjonsserveren.

Hvis for eksempel produksjonsserveren er på en 32 bit windows med IIS 6, da bør du på utviklingsmaskina hvis den har 64 bit windows med IIS 7, utvikle asp-greiene som 32 bit web-aplikasjoner.

Lenke til kommentar

Gjetter litt her, men så vidt jeg kjenner til så er ASP bare et script språg for å generere HTML kode. Ser derfor ikke helt sammenhengen med spørsmålet om ASP/32/64 bit.

 

Hvis det skulle være noen forskjell et sted så måtte det vært på selve WEB serveren og ikke script språget. Forskjellen på IIS32 og IIS64 er antagligvis stor, men det går mer på minnebruk, CPU styring, clustering og ellers andre OS relaterte ting. Kan ikke se at dette har noe med ASP å gjøre i det hele tatt.

 

Men som sagt så gjetter jeg litt her

Lenke til kommentar
  • 3 uker senere...

Det er liten forskjell på hvordan 32/64 i seg selv krever av koden din.

 

Du kan ha samme kode, og det skal virke LIKT på begge plattformer.

 

Eneste problemet er når du begynner med database tilkoblinger, men så lenge disse heter det samme og du bruker 32-bits driver til å foreta denne tilkoblingen så er det ikke noe problem.

 

Case:

Hadde en gitt kode som brukte ADODB til å koble til Ms SQL serveren min. ADODB er så å si ett nødvendig sett med bibliotek og driver som følger med .NET 3++ (mener jeg ihvertfall).

Eneste jeg måtte endre for å få ting til å virke var å endre litt på tilkoblingsstrengen fordi den driveren jeg brukte lokalt var nyere på serveren så ble til å legge til ett tall på driver, så virket dette 100%.

 

Så om du installerer slik at begge platformene dine har tilgang til samme driver(ikke nødvendigvis identiske, men att de kan kalles opp av applikasjonen din med samme navn) er det ingenting i veien for att det skal virke =)

 

Håper dette hjalp litt =)

Lenke til kommentar

Jeg synes dette hørtes rart ut. Betyr dette at et program skrevet i .NET (uavhengig om det er ASP) som bruker f.eks. LINQ kunn vil virke mot den SQL versjonen som er installert på maskinen som programmet blir utviklet på? Dette har jeg vanskelig for å tro, men har du erfart noe annet så stemmer det nok. Høres i såfall ut som en BUG i rammeverket

Lenke til kommentar

Påloggingsstrengen vi bruker i ASP-koden adresserer ODBC-driveren ved navn:

 

"Driver={MySQL ODBC 3.51 Driver}; xxx"

 

Så hvis driveren skifter til en annen versjon så må vi endre påloggingsstrengen. Men det kan selvsagt gjøres dynamisk ved å lese inn fra en ini-fil og lagres i en variabel. Nå er det ikke noe problem for oss fordi vi hoster applikasjonen på egne servere for kundene.

 

Geir :)

Lenke til kommentar

Har ellers funnet svaret på mitt eget opprinnelige spørsmål, ikke uten betydelige mengder blod, svette og et par tårer...

 

Det er en god del ting som har endret seg, ikke bare fra 32 bit til 64, men også fra tidligere IIS versjoner til 7.5. Her er noen av dem:

 

1. I IIS må "Enable 32-Bit Applications" settes til true for at den skal kunne kjøre mot en 32-bits ODBC driver etc.

 

2. Dersom koden din bruker ../../ syntaks for overliggende mapper må "Enable Parent Paths" settes true under ASP settings for siden på IIS.

 

3. ISAPI for ASP Classic må enables og settes som førsteprioritets handler.

 

4. Error mode må settes til Custom for system.webServer/httpErrors i web.config, ellers virker ikke Execute URL under Errror codes.

 

Geir :)

 

 

ok. Regnet vel egentlig med at dere brukte ASP.NET

Det burde jeg gjort klart i førsteposten og emnetittel. Skal rette på det. :)

 

Geir :)

Lenke til kommentar

Det eneste en skal trenge å tenke på er eventuelle biblioteker en bruker, siden en i utgangspunktet ikke kan blande 32 og 64.

 

Irriterer meg at det fortsatt er mange som ikke gir ut en 64-bit versjon av programmene sine, det er da for helsike ikke så fryktelig vanskelig å lage 64-bit programmer!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...