Quale tecnologia .NET 4.0 fornisce modulare fix-a-volo di servizio (hotswap) REST hosting?

StackOverflow https://stackoverflow.com/questions/4626571

Domanda

Quindi, è un sogno di molti anni, ma Hope Springs eterna. Esiste un quadro / di servizio (WCF / WAS / MVC / ETC), che permette di aggiungere servizi / aggiornamento con un impatto minimo sulle richieste in corso o servizi "di pari livello".

L'aspetto sogno qualcosa di simile:

  • IIS7

    • Pluggable REST servizio Host

      • risorse condivise (archivi, qa)

      • Servizio A - Caduto nella cartella nella produzione, fornisce nuovi metodi REST

      • Servizio B - Aggiornato "in volo" per correggere un bug, minima interruzione di richieste

Credo che la risposta potrebbe coinvolgere WAS o forse AppFabric (il sogno non è cauto), ma dal momento che non sono mai riuscito a trovare un modo semplice per farlo funzionare, accolgo con favore il vostro input su come realizzare al meglio quello che penso i nostri compagni PHP semplicemente "fanno".

È stato utile?

Soluzione

MEF + auto ospitato WCF con webHttpBinding. O MEF con HttpListener. Il nuovo WCF Http stack http://wcf.codeplex.com renderà questo molto più facile in futuro

Altri suggerimenti

Questo non è davvero una domanda REST -. È una questione server HTTP

In passato, quello che ho fatto è quello di distribuire una nuova versione di un'applicazione in una nuova posizione sul server, magari utilizzando un URL visibile solo internamente. Ho poi ho semplicemente acceso l'IIS proprietà per puntare al nuovo URL.

Questa è una domanda strana. In primo luogo siamo in NET mondo in cui sono compilate le assemblee - questo ha grande impatto su altre cose

.

Quindi, in pratica sì, si può fare ciò che si vuole, se si avvia la programmazione come programmatori PHP. Aprire il file .svc e scrivere tutto il vostro servizio direttamente a questo file. Questo è noto anche come linea di codifica. Sarete in grado di utilizzare i tipi di assembly distribuiti al GAC e Bin cartella del proprio sito. Basta copiare il file nella directory .svc applicazione web renderà il vostro servizio. La modifica sarà anche facile. Devi usare .NET 4.0 e non sarà necessario alcun cambiamento di configurazione quando "distribuzione" nuovo servizio.

Modifica:

Sulla base di commenti che sto aggiungendo qualche spiegazione futher.

IIS e tutto dipende da IIS (WAS, AppFabric) riciclare sempre il dominio quando si aggiunge nuovo assieme. Penso che il motivo è direttamente di nucleo NET - dominio di applicazione. Carico e scarico assemblee richiede dinamicamente nuovo dominio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top