Vra

Ek probeer om te her-installeer 'n DLL in die GAC, lyk alles goed werk, maar die web-program toegang tot dit nog blyk te wees met behulp van die ou een.

Die ou DLL is dieselfde weergawe as die nuwe een met net 'n klein wysiging, dit sal gebruik word deur 50 verskillende plekke so verander die weergawe dan verander die verwysing in die Web.config is nie 'n goeie oplossing.

herlaai van die IIS server of die werker proses is nie 'n opsie as daar reeds 50 plekke loop wat moet voortgaan om dit te doen.

Is daar iemand weet wat ek verkeerd doen of wat ek kan doen om hierdie situasie reg te stel?

Was dit nuttig?

Oplossing

AFAIK, moet jy IIS weer daarvoor om 'n vars verwysing na die opgedateer DLL kry. Jou beste bet is om die herstel te voer op 'n lae verkeer tyd. As jy met verskeie bedieners met load balancing, kan jy verhoed dat nuwe verbindings uit die slaan van 'n bediener totdat alle verbindings is gesluit. Daarna werk die DLL, herlaai IIS, en bring die bediener terug in die verband swembad. Herhaal vir elke bediener met geen sigbare stilstand aan die einde gebruikers.

Ander wenke

Aangesien u nie 'n verwysing na toepassing poele maak, ek gaan om te aanvaar jy is op die ou weergawe van IIS. In daardie geval, wat jy hoef te doen is om "aan te raak" al die DLLs in elke webwerf wat die DLL verwys.

Die probleem is dat die kode is reeds gelaai en wat jy nodig het om 'n nie-indringende manier om weer te laai die aansoek vind. Herwinning app-poele is 'n doeltreffende manier om dit te doen. As jy op die ou IIS wat nie 'APP-poele, dan opdatering van die laaste wysiging in die / bin / dopgehou of Web.config lêers sal die aansoek herlaai sonder dat die ander terreine.

So 'n script van 'n soort van die doen bo is ten einde. Al wat dit nodig het om te doen is werk die Last Modified op die DLLs in elke / bin aansoek gids.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top