Nej, det är tyvärr det enda sättet. Man kan stänga av DLL:en under drift, men jag tror tyvärr inte att det går att ladda in en ny version.
Det är ett ISAPI-filter vi snackar om va? :)
mvh
9 svar · 500 visningar · startad av Swey
Hej,
Om jag har en ett program i en ISAPI DLL så laddas den in i minnet första gången filen anropas. Det är bra eftersom Windows inte behöver ladda in filen varje gång programmet ska köras.
Problemet är att jag inte vet hur jag ska få IIS att ladda ur filen från minnet så att jag kan radera eller uppdatera den. Eftersom den är inladdad så är den skrivskyddad och kan inte bytas ut. Det enda sättet som jag känne till är att starta om IIS med en bat-fil som jag skapade tidigare. Se http://cgi.webforum.nu/wf/Forum16/HTML/000022.html
Det är dock väldigt jobbigt att starta om IIS varje gång jag ska ändra i filen och det är därför ingen bra lösning. Finns det någon annan?
Mycket tacksam för svar. Jag använder Windows 2000.
mvh
------------------
- Swey
Skriv först, tänk sen!
Nej, det är tyvärr det enda sättet. Man kan stänga av DLL:en under drift, men jag tror tyvärr inte att det går att ladda in en ny version.
Det är ett ISAPI-filter vi snackar om va? :)
mvh
Tack för svaret.
ISAPI-filter, heter det så?
Det är ett program som är kompilerat i C++ Builder som ISAPI DLL och kopierad till \Inetpub\Scripts.
Finns det inget annat sätt att frigöra filen än att starta om alla delar i IIS? Eller finns det något annat sätt att köra filen?
------------------
- Swey
Skriv först, tänk sen!
Nä, då är det inte ett ISAPI-filter.
Nej, så länge du kör med din "globala" IIS så måste du starta om den hela tiden. Jag har dock för mig att man kan ställa in C++ Builder att själv starta en egen IIS, så att man kan debugga mycket enklare. Det går med Delphi. Annars kanske du kan använda
http://www.drbob42.com/tools/intrabob.htm
------------------
-------------------
What a waste it is to lose one's mind. Or not to have a mind is being very wasteful. How true that is.
Dan Quayle
Annars kanske du kan använda
Ska ta en titt på den!
Jag har dock för mig att man kan ställa in C++ Builder att själv starta en egen IIS
C++ Builder är precis som Delphi. Vet du hur man ställer in det (eller ska jag ställa frågan i Delphi-forumet)? :)
------------------
- Swey
Skriv först, tänk sen!
Den som söker han finner. :D
http://community.borland.com/article/0,1410,23024,00.html
------------------
- Swey
Skriv först, tänk sen!
Bra funnet! ....eller nåt... ;)
Om vi återgår till grundproblemet.
Det är väldigt dåligt att man måste starta om IIS för att kunna uppdatera filen. Det innebär att jag måste ha behörighet att starta om IIS för att kunna använda ISAPI. Om jag laddar upp ett program till en ftp-server kan jag aldrig ersätta filen igen utan att starta om IIS. Eftersom jag inte kan göra det så är det kört. Om jag nu skulle starta om IIS skulle jag antagligen tappa besökare som inte gillade att sidan slutar ladda.
Detta är väldigt dåligt. Det måste gå att lösa på ett annat sätt. Man kanske inte ska använda ISAPI?
Lite butter är jag. :)
------------------
- Swey
Skriv först, tänk sen!
Från http://msdn.microsoft.com/library/backgrnd/html/nilewp.htm
"By default, IIS 4.0 caches ISAPI extension DLLs. This is great in a production web site because it means good performance, but not so great on a test server because it prevents you from replacing your DLLs freely during development. There are four main ways of getting around this problem:
"
------------------
-------------------
What a waste it is to lose one's mind. Or not to have a mind is being very wasteful. How true that is.
Dan Quayle
Tack för det utkastet!
Vilket alternativ är bäst?
Det sista alternativet låter bra. Hur går man tillväga för att använda det?
------------------
- Swey
Skriv först, tänk sen!