Domanda

Sto lavorando a un progetto che utilizza Windows 2008, .NET 3.5 e WCF per alcuni servizi interni ed è sorta la questione su come ospitare i servizi.

Dato che utilizziamo Windows 2008, pensavo che sarebbe stato utile sfruttare il servizio di attivazione del processo di Windows (WAS), anche se la sensazione sul progetto sembra essere che l'utilizzo dei servizi Windows sarebbe migliore.

Allora qual è il vantaggio nell'usare WAS per ospitare i servizi WCF rispetto a un servizio Windows?Ci sono vantaggi reali nell'usare i servizi Windows o è la strada da percorrere?

È stato utile?

Soluzione

Recentemente ho dovuto rispondere a domande molto simili e questi sono i motivi per cui ho deciso di utilizzare IIS 7.0 e WAS invece dell'infrastruttura dei servizi Windows.

  1. IIS 7.0 è un host molto più robusto e include numerose funzionalità che semplificano il debug.Tracciamento delle richieste non riuscite, riciclaggio dei processi di lavoro, processi orfani, per citarne alcuni.
  2. IIS 7.0 offre più opzioni per specificare cosa dovrebbe accadere con il processo di lavoro in determinate circostanze.
  3. Se ospiti il ​​tuo servizio in IIS, non gli viene assegnato un processo di lavoro fino alla prima richiesta.Questo è qualcosa che era un comportamento desiderato dal mio punto di vista, ma potrebbe essere diverso nel tuo caso.Il servizio Windows ti offre la possibilità di avviare il servizio in modo più deterministico.
  4. Dalla mia esperienza WAS stesso non fornisce una maggiore affidabilità.Il suo più grande vantaggio è che espone la ricchezza di IIS alle applicazioni che utilizzano protocolli diversi da HTTP.Per diverso intendo:TCP, pipe denominate e MSMQ.
  5. L'unico svantaggio dell'utilizzo di WAS di cui sono a conoscenza è che l'indirizzo a cui è esposto il tuo servizio deve essere conforme a una sorta di modello.Viene descritto come appare nel caso di MSMQ Qui
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top