Domanda

Abbiamo un servizio WCF esistente che utilizza wsDualHttpBinding per abilitare i callback al client. Sto pensando di spostarlo su netTcpBinding per migliorare le prestazioni, ma sono abbastanza diffidente nell'allontanarmi dal servizio ospitato da IIS (una "zona di comfort" che ci piace attualmente) per avere il nostro servizio Windows per ospitarlo. Speravo che potessimo ancora ospitare questo su IIS 7, ma Win2K8 non sarà realtà per noi per un po 'di tempo.

A cosa devo fare attenzione quando creo il nostro servizio Windows per ospitare il nostro servizio WCF? Cose come la gestione a vita e la limitazione delle richieste sono funzionalità che vengono offerte gratuitamente con l'hosting IIS, quindi vorrei anche sapere come possiamo ospitare efficacemente il nostro servizio da soli senza la comodità di avere IIS a fare il duro lavoro per noi. Grazie! :)

È stato utile?

Soluzione

Quindi, dato che non puoi ospitare usando WAS, ci sono un paio di cose da realizzare.

  • Se il servizio si arresta in modo anomalo, non si riavvia per impostazione predefinita (sebbene sia possibile modificarlo nelle proprietà del servizio)
  • IIS riciclerà il pool di applicazioni se si blocca o diventa troppo grande; devi farlo tu stesso se vuoi lo stesso tipo di affidabilità.
  • È necessario creare un account per l'esecuzione del servizio o utilizzare uno dei servizi predefiniti. Reinvia la tentazione di eseguire il servizio come SISTEMA o con un account amministratore; se si desidera utilizzare un account integrato, utilizzare il SERVIZIO DI RETE.
  • È più difficile eseguire il debug in situ.
  • Valuta l'utilizzo di un logger di errori come log4net

Detto ciò, 9 mesi fa ho distribuito una combinazione di servizi WCF / Windows per un cliente; è molto usato e non è morto una volta.

Puoi richiedere l'acceleratore in un servizio di Windows, fa parte della configurazione WCF. Nota che i valori predefiniti sono molto bassi, è probabile che dovrai aumentarli.

Altri suggerimenti

Hosting in un'applicazione di servizio di Windows ( http://msdn.microsoft. com / en-us / library / ms734781.aspx ) è un buon inizio.

Se puoi ospitare il tuo servizio su Vista, puoi anche beneficiare del servizio di attivazione del processo di Windows (WAS). WAS è una generalizzazione dell'attivazione del processo IIS, che può essere utilizzata per attivare i processi su endpoint non HTTP (TCP, Named Pipe, MSMQ). Per ulteriori informazioni su WCF ospitato in WAS, leggi http://msdn.microsoft. com / it-it / library / ms733109.aspx . Per informazioni su come installare e configurare WAS, leggi http://msdn.microsoft. com / it-it / library / ms731053.aspx .

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