<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Markus Christen IT Architect - Microsoft Brasil : WCF</title><link>http://blogs.technet.com/markuschristen/archive/tags/WCF/default.aspx</link><description>Tags: WCF</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Windows a Plataforma de Aplicações: WCF &amp; “Internet Information Service”</title><link>http://blogs.technet.com/markuschristen/archive/2009/08/11/hospedar-servi-os-wcf-no-internet-information-service.aspx</link><pubDate>Tue, 11 Aug 2009 22:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3272491</guid><dc:creator>Markus Christen</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/markuschristen/comments/3272491.aspx</comments><wfw:commentRss>http://blogs.technet.com/markuschristen/commentrss.aspx?PostID=3272491</wfw:commentRss><wfw:comment>http://blogs.technet.com/markuschristen/rsscomments.aspx?PostID=3272491</wfw:comment><description>&lt;BLOCKQUOTE&gt;
&lt;P&gt;Ola, tudo bem ? &lt;/P&gt;
&lt;P&gt;Vamos continuar de falar e analisar as possibilidades da hospedagem de serviços WCF no “Internet Information Server”. Nos blogs anteriores sobre este assunto eu tentei formalizar algumas perguntas que precisam ser respondidos antes da escolha do contêiner. Vamos começar, resumindo os pontos de conversa dos blogs anteriores.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Antes da escolha, você preciso se perguntar seguintes perguntas:&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Quais possibilidades eu tenho para hospedar serviços WCF ? &lt;/LI&gt;
&lt;LI&gt;Quais são os vantagens de cada uma ? &lt;/LI&gt;
&lt;LI&gt;Quais são as melhoras praticas da Microsoft? &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Vamos definir três tipos básicos de hospedagem de serviços WCF:&lt;/B&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;B&gt;“Self-Hosting” - .Net Application&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;“Windows Service” &lt;/B&gt;&lt;B&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;“IIS, WAS”&lt;/B&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Em neste post nos vamos tratar item 3. IIS e o contêiner de Serviços WCF mais usado no mercado por causa da flexibilidade e do desacoplamento entre a aplicação e a configuração. Uma das perguntas mais importantes é como nos podemos garantir o isolamento das aplicações e qual é o impacto na escolha do contêiner de hospedagem.&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;.Net Application Domain&lt;/H1&gt;
&lt;P&gt;Na parte da plicacao nos podemos garantir o isolamento via a “.Net Application Domain”. Uma “.Net Application Domain” é usado para isolar os aplicativos uns dos outros.&amp;nbsp; A separação é necessária, para que aplicativos não se afetam mutuamente. Uma “.Net Application Domain” do Common Language Runtime está contido em um processo de sistema operacional. Um processo pode conter uma ou várias “.Net Application Domains” mas por rações de gerenciamento nos estamos sugerindo seguir a regra 1:1. Se você gostaria conhecer mais sobre este assunto acesso o link: &lt;A href="http://blogs.technet.com/markuschristen/archive/2009/08/05/hospedar-servi-os-wcf-com-um-windows-service.aspx" mce_href="http://blogs.technet.com/markuschristen/archive/2009/08/05/hospedar-servi-os-wcf-com-um-windows-service.aspx"&gt;http://blogs.technet.com/markuschristen/archive/2009/08/05/hospedar-servi-os-wcf-com-um-windows-service.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Importante: Concluindo, nos podemos falar que toda Aplicação .Net precisa uma “Application Domain” que e hospedado dentro de um Windows Process.&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Para determinar qual hospedagem e a mais adequado para seu cenário, você precisa responder seguinte perguntas&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Disponibilidade&lt;/B&gt;: Você precisa acessar seu serviço , 24/7 ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Confiabilidade&lt;/B&gt;: O que acontece quando seu serviço para ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Processo de Gerenciamento&lt;/B&gt;: Você precisa informações sobre a operação do seu serviço ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Processo de&amp;nbsp; Versionamento&lt;/B&gt;: Você precisa suportar vários versões do seu serviço ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Processo de Implementação&lt;/B&gt;: Qual e seu processo de implementação? Você precisa usar o processo de empacotamento o xcopy e suficiente ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Chamada de Persistência&lt;/B&gt;: Você precisa uma chamada de persistência ? &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Estas perguntas, baseado na minha experiência, podem agora ajudar definir qual contêiner de hospedagem é o mais adequado para seu cenário.&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;“Internet Information Service”&lt;/H1&gt;
&lt;P&gt;Como todo aplicação .Net precisa um contêiner de hospedagem, nos podemos considerar o “Internet Information Service” o mais importante para serviços WCF no mercado corporativo. WCF e suportado deste da versão Windows XP, mas com limitações dependendo da versão do sistema operacional. Dependendo da versão homologado no seu ambiente você precisa iniciar um novo processo de homologação ou conviver com as limitações. &lt;/P&gt;
&lt;P&gt;O “Application Pool” é um “Windows Process” separando as aplicações via processos Windows chamado W3wp.exe. Estes processos são iniciados apenas quando for necessário (Sobre Demanda) . Em outras palavras, o IIS vem com um modelo de ativação (Http Activation) que permite a ativação do “Application Pool” quando ele recebe um pedido de um aplicativo específico acoplado no “Application Pool”. Isso habilita o IIS hospedar milhares de aplicativos em um servidor sem manter os processos executando em memoria.&lt;/P&gt;
&lt;P&gt;Para hospedar um serviço WCF no IIS, você precisa de um serviço com a extensão svc (WCF – Service) . O arquivo associa um serviço com a implementação e o meio para o IIS criar o ServiceHost para você. O IIS assume a interação entre seu serviço e o ServiceHost, você não preciosa instanciar e iniciar o ServiceHost para seu serviço, que simplifica o processo da codificação do serviço. O código do serviço, pode residir , em um “Assembly” separado, registrado no GAC, ou reside na pasta bin do aplicativo, ou em um arquivo C# que reside na pasta de “App_Code” do aplicativo web. Este cenários ajuda definir padrões de hospedagem para todas “Aplicações” Serviços no seu ambiente. &lt;/P&gt;
&lt;P&gt;A grande pergunta, porque o IT-Pro precisa saber tudo disto ? A resposta e simples, quem e responsável para manter e providenciar o ambiente de hospedagem de serviços e o IT-Pro. Mas como esta a distribuição das responsabilidades e tarefas ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/ff5d3930c57d_CFC9/image_2.png" mce_href="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/ff5d3930c57d_CFC9/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/ff5d3930c57d_CFC9/image_thumb.png" width=690 height=466 mce_src="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/ff5d3930c57d_CFC9/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A configuração é bem semelhante ao arquivo &lt;EM&gt;App.Config do blog anterior,&lt;/EM&gt;&amp;nbsp; que configura o serviço . Ligeiras mudanças são realizadas, conforme é mostrado abaixo: &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/ff5d3930c57d_CFC9/image_4.png" mce_href="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/ff5d3930c57d_CFC9/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/ff5d3930c57d_CFC9/image_thumb_1.png" width=698 height=311 mce_src="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/ff5d3930c57d_CFC9/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Passo 5 mostra que o IT-Pro precisa definir o web.config para o novo serviço.&lt;/P&gt;
&lt;P&gt;É importante mencionar que na criação do &lt;EM&gt;endpoint&lt;/EM&gt; não é necessário de definir o atributo “Address,”o endereço é determinado baseado no arquivo *.svc.&amp;nbsp; Se você quer entender melhor toda “Schema” usa o “Microsoft Service Configuration Editor” que mostra todas as possibilidades de configuração.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Disponibilidade&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Gerenciado via o “Internet Information Service” sem intervenção na fase de desenvolvimento&lt;/LI&gt;
&lt;LI&gt;O Internet Information Service” possui suporte interno para reiniciar serviços quando ocorrem falhas ou atendem limites definidos como memória ou utilização de CPU.&lt;/LI&gt;
&lt;LI&gt;Os processos são iniciados apenas quando for necessário (Sobre Demanda) &lt;/LI&gt;
&lt;LI&gt;Possiblidade de usar equipamentos de balanceamento de carga como NLB, Big5 etc.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Confiabilidade&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;O Internet Information Service permite escolher uma identidade de segurança específicas em que você quiser o serviço executado incluindo contas internas de serviço de sistema ou rede. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Processo de Gerenciamento&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Em geral, os IT-Pros sabem muito sobre o Gerenciador de controle de serviços e outras ferramentas, no entanto, para fazer serviços sustentável, você provavelmente teria que adicionar alguns recursos de log e instrumentação&amp;nbsp; (SCOM 2008) &lt;/LI&gt;
&lt;LI&gt;IIS Manager ou PowerShell&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Processo de Versionamento&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Versionamento precisa ser providenciado via código customizado (Codificação) e processos de IT-Pros. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Processo de Implementação&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Criacao de um pacote MSI &lt;/LI&gt;
&lt;LI&gt;Copiar os arquivos para o novo destino&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Chamada de Persistência&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Chamada de persistência via código customizado ou os chamadas de persistência oferecido via os padrões do IIS.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Pré-requisitos:&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Windows 2003 &amp;lt; &lt;/LI&gt;
&lt;LI&gt;Visual Studio 2008 &lt;/LI&gt;
&lt;LI&gt;Net Framework 3.0, 3.5 SP1 (Dependendo da Versão Usado) &lt;/LI&gt;
&lt;LI&gt;IIS 6.0 &amp;lt;, HTTP Activation Feature&lt;/LI&gt;
&lt;LI&gt;Configuration Editor Tool (&lt;A href="http://msdn.microsoft.com/en-us/library/ms732009.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms732009.aspx"&gt;Configuration Editor Tool (SvcConfigEditor.exe)&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;WCF Tools (&lt;A href="http://msdn.microsoft.com/en-us/library/ms732015.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms732015.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms732015.aspx&lt;/A&gt;) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Mais perguntas ? Ate o próximo Blogs, Markus&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:38d6868b-1a10-4b9a-a82f-54cbedb212b7 class=wlWriterEditableSmartContent&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/WCF" rel=tag mce_href="http://technorati.com/tags/WCF"&gt;WCF&lt;/A&gt;,&lt;A href="http://technorati.com/tags/IIS" rel=tag mce_href="http://technorati.com/tags/IIS"&gt;IIS&lt;/A&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3272491" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/markuschristen/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/markuschristen/archive/tags/WCF/default.aspx">WCF</category></item><item><title>Windows a Plataforma de Aplicações: Hospedar serviços WCF com "Windows Service"</title><link>http://blogs.technet.com/markuschristen/archive/2009/08/05/hospedar-servi-os-wcf-com-um-windows-service.aspx</link><pubDate>Wed, 05 Aug 2009 23:39:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3270956</guid><dc:creator>Markus Christen</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/markuschristen/comments/3270956.aspx</comments><wfw:commentRss>http://blogs.technet.com/markuschristen/commentrss.aspx?PostID=3270956</wfw:commentRss><wfw:comment>http://blogs.technet.com/markuschristen/rsscomments.aspx?PostID=3270956</wfw:comment><description>&lt;BLOCKQUOTE&gt;
&lt;P&gt;Ola, tudo bem ? &lt;/P&gt;
&lt;P&gt;No me primeiro blog sobre este assunto eu mostrei para você as possibilidades como hospedar serviços WCF (&lt;A href="http://blogs.technet.com/markuschristen/archive/2009/04/17/hospedar-servi-os-wcf-e-wf.aspx" mce_href="http://blogs.technet.com/markuschristen/archive/2009/04/17/hospedar-servi-os-wcf-e-wf.aspx"&gt;http://blogs.technet.com/markuschristen/archive/2009/04/17/hospedar-servi-os-wcf-e-wf.aspx&lt;/A&gt;).&amp;nbsp; Vamos continuar este papo e discutir este assunto mais “Deep”. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Quando você quer hospedar seus serviços WCF você preciso se perguntar seguintes perguntas:&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Quais possibilidades eu tenho para hospedar serviços WCF ? &lt;/LI&gt;
&lt;LI&gt;Quais são os vantagens de cada um ? &lt;/LI&gt;
&lt;LI&gt;Quais são as melhoras praticas da Microsoft? &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;No podemos definir 3 tipos de hospedagem de serviços WCF:&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;“Self-Hosting” &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;“Windows Service” &lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;“IIS, WAS”&lt;/B&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Neste blog vamos tratar item 2 e 3. Uma outra pergunta importante é como nos podemos garantir o isolamento das aplicações e quanta impacta isto na escolha de um contêiner de hospedagem.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;.Net Application Domain&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Uma “.Net Application Domain “ é equivalente a CLR do que o processo de um sistema operacional. Uma “.Net Application Domain” é usado para isolar os aplicativos uns dos outros.&amp;nbsp; A separação é necessária, para que aplicativos não se afetam mutuamente. Uma “.Net Application Domain” do Common Language Runtime está contido em um processo de sistema operacional. Um processo pode conter várias “.Net Application Domains” . &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Vantagens:&lt;/STRONG&gt; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Muitas “.Net Application Domains” podem estar contidos dentro de um processo único &lt;/LI&gt;
&lt;LI&gt;“.Net Application Domain’s” pode ser interrompido sem afetar o Estado de outro em execução no mesmo processo. &lt;/LI&gt;
&lt;LI&gt;Um erro nãoafeta outras “.Net Application Domains”ou bloqueie todo o processo que hospeda &lt;/LI&gt;
&lt;LI&gt;Informações de configuração é segmentado per “.Net Application Domain” &lt;/LI&gt;
&lt;LI&gt;Cada “.Net Application Domain” pode ter níveis de acesso de segurança diferentes atribuídos a eles, tudo num único processo. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Importante: Concluindo nos podemos falar que todo ServiceHost precisa um WindowsProcess e uma “Application Domain”.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Para determinar qual hospedagem seria mais adequado para seu cenário, você precisa responder seguinte perguntas&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;B&gt;Disponibilidade&lt;/B&gt;: Quando você precisa acessar seu serviço , 24/7 ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Confiabilidade&lt;/B&gt;: O que acontece quando seu serviço para ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Processo de Gerenciamento&lt;/B&gt;: Você precisa informações sobre a operação do seu serviço ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Processo de&amp;nbsp; Versionamento&lt;/B&gt;: Você precisa suportar vários versões do seu serviço ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Processo de Implementação&lt;/B&gt;: Qual e seu processo de implementação? Você precisa usar o processo de empacotamento o xcopy e suficiente ? &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Chamada de Persistência&lt;/B&gt;: Você precisa uma chamada de persistência ? &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Baseado em estas perguntas você agora pode definir qual contêiner de hospedagem é mais adequado para seu cenário. Durante este blog nos vamos tratar a hospedagem via “Windows Service” e nos próximos nos vamos continuar com IIS e WAS.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H1&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/H1&gt;
&lt;H1&gt;&lt;STRONG&gt;Windows Service&lt;/STRONG&gt;&lt;/H1&gt;
&lt;P&gt;O cenário aonde você habilita os Serviços WCF via o “Windows Service”, opção logica de hospedar uma serviços WCF de longa duração fora do Internet Information Services (IIS) em um ambiente seguro que não é ativada via mensagem. A instancia do serviço é controlada, pelo sistema operacional. Esta opção de hospedagem está disponível em todas as versões do Windows. &lt;/P&gt;
&lt;P&gt;Serviços Windows podem ser gerenciados com o Microsoft.ManagementConsole.SnapIn no Microsoft Management Console (MMC) e podem ser configurados para iniciar automaticamente quando o sistema é inicializado. Esta opção de hospedagem consiste em registrar o domínio de aplicativo (AppDomain) que hospeda um serviço WCF como um serviço gerenciado pelo Windows para que a instancia do processo do serviço é controlada pelo Gerenciador de controle de serviços.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Disponibilidade&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV align=left&gt;O Gerenciador de controle de serviço do Windows permite definir o tipo de inicialização para automático, para que logo que o Windows é iniciado, o serviço será iniciado, sem um logon interativo no computador&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV align=left&gt;Gerenciador de controle de serviço do Windows possui suporte interno para reiniciar serviços quando ocorrem falhas.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV align=left&gt;Possiblidade de usar equipamentos de balanceamento de carga como NLB, Big5 etc.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Confiabilidade&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;O gerenciador de controle de serviço do Windows permite escolher uma identidade de segurança específicas em que você quiser o serviço executado incluindo contas internas de serviço de sistema ou rede. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Processo de &lt;/B&gt;&lt;B&gt;Gerenciamento&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Em geral, os IT-Pros sabem muito sobre o Gerenciador de controle de serviços e outras ferramentas, no entanto, para fazer serviços sustentável, você provavelmente teria que adicionar alguns recursos de log e instrumentação&amp;nbsp; (SCOM 2008) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Processo de &lt;/B&gt;&lt;B&gt;Versionamento&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Versionamento precisa ser providenciado via código customizado (Codificação) e processos de IT-Pros. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Processo de Implementação&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Serviços devem ser instalados com o utilitário .NET Framework Installutil.exe ou através de uma ação personalizada em um pacote de instalador (Visual Studio) &lt;/LI&gt;
&lt;LI&gt;MSDN Link: &lt;A title=http://msdn.microsoft.com/en-us/library/ms733069.aspx href="http://msdn.microsoft.com/en-us/library/ms733069.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms733069.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms733069.aspx&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Video Codeplex: &lt;A title=http://wcfsecurity.codeplex.com/Wiki/View.aspx?title=How%20To%3a%20How%20to%20Host%20WCF%20in%20a%20Windows%20Service&amp;amp;referringTitle=Home href="http://wcfsecurity.codeplex.com/Wiki/View.aspx?title=How%20To%3a%20How%20to%20Host%20WCF%20in%20a%20Windows%20Service&amp;amp;referringTitle=Home" mce_href="http://wcfsecurity.codeplex.com/Wiki/View.aspx?title=How%20To%3a%20How%20to%20Host%20WCF%20in%20a%20Windows%20Service&amp;amp;referringTitle=Home"&gt;http://wcfsecurity.codeplex.com/Wiki/View.aspx?title=How%20To%3a%20How%20to%20Host%20WCF%20in%20a%20Windows%20Service&amp;amp;referringTitle=Home&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Chamada de Persistência&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Chamada de persistencia via código customizado &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Pré-requisitos:&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Windows 2003 &amp;lt; &lt;/LI&gt;
&lt;LI&gt;Visual Studio 2008 &lt;/LI&gt;
&lt;LI&gt;.Net Framework 3.0, 3.5 SP1 (Dependendo da Versão Usado) &lt;/LI&gt;
&lt;LI&gt;InstallUtil.Exe (Installer Package Visual Studio) &lt;/LI&gt;
&lt;LI&gt;Configuration Editor Tool (&lt;A href="http://msdn.microsoft.com/en-us/library/ms732009.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms732009.aspx"&gt;Configuration Editor Tool (SvcConfigEditor.exe)&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;WCF Tools (&lt;A title=http://msdn.microsoft.com/en-us/library/ms732015.aspx href="http://msdn.microsoft.com/en-us/library/ms732015.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms732015.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms732015.aspx&lt;/A&gt;) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Application Configuration File&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Exemplo de um “Application Configuration File” para hospedar um Serviço WCF. Este arquivo precisa ser criado e configurado baseado no &lt;A href="http://msdn.microsoft.com/en-us/library/ms731734.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms731734.aspx"&gt;Schema WCF&lt;/A&gt;. Existe um editor que ajuda muito: &lt;A href="http://msdn.microsoft.com/en-us/library/ms732009.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms732009.aspx"&gt;Configuration Editor Tool (SvcConfigEditor.exe)&lt;/A&gt;. Este exemplo vem sem um segurança reforçada, mais informações via &lt;A href="http://wcfsecurity.codeplex.com/" mce_href="http://wcfsecurity.codeplex.com/"&gt;WCF-Security Guide.&lt;/A&gt;&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&amp;lt;?xml version=&lt;SPAN class=str&gt;"1.0"&lt;/SPAN&gt; encoding=&lt;SPAN class=str&gt;"utf-8"&lt;/SPAN&gt; ?&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;&amp;lt;configuration&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;  &amp;lt;system.serviceModel&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;    &amp;lt;services&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;      &amp;lt;service name=&lt;SPAN class=str&gt;"Microsoft.ServiceModel.Samples.CalculatorService"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   6:  &lt;/SPAN&gt;               behaviorConfiguration=&lt;SPAN class=str&gt;"CalculatorServiceBehavior"&lt;/SPAN&gt;&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;        &amp;lt;host&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   8:  &lt;/SPAN&gt;          &amp;lt;baseAddresses&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   9:  &lt;/SPAN&gt;            &lt;STRONG&gt;&amp;lt;add baseAddress=&lt;SPAN class=str&gt;"http://localhost:8000/ServiceModelSamples/service"&lt;/SPAN&gt;/&lt;/STRONG&gt;&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  10:  &lt;/SPAN&gt;          &amp;lt;/baseAddresses&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  11:  &lt;/SPAN&gt;        &amp;lt;/host&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  12:  &lt;/SPAN&gt;        &amp;lt;!-- &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt; endpoint &lt;SPAN class=kwrd&gt;is&lt;/SPAN&gt; exposed at the &lt;SPAN class=kwrd&gt;base&lt;/SPAN&gt; address provided by host: http:&lt;SPAN class=rem&gt;//localhost:8000/ServiceModelSamples/service  --&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  13:  &lt;/SPAN&gt;        &amp;lt;endpoint address=&lt;SPAN class=str&gt;""&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  14:  &lt;/SPAN&gt;                  &lt;STRONG&gt;binding=&lt;SPAN class=str&gt;"wsHttpBinding"&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  15:  &lt;/SPAN&gt;                  contract=&lt;SPAN class=str&gt;"Microsoft.ServiceModel.Samples.ICalculator"&lt;/SPAN&gt; /&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  16:  &lt;/SPAN&gt;        &amp;lt;!-- the mex endpoint &lt;SPAN class=kwrd&gt;is&lt;/SPAN&gt; explosed at http:&lt;SPAN class=rem&gt;//localhost:8000/ServiceModelSamples/service/mex --&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  17:  &lt;/SPAN&gt;        &amp;lt;endpoint address=&lt;SPAN class=str&gt;"mex"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  18:  &lt;/SPAN&gt;                  binding=&lt;SPAN class=str&gt;"mexHttpBinding"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  19:  &lt;/SPAN&gt;                  contract=&lt;SPAN class=str&gt;"IMetadataExchange"&lt;/SPAN&gt; /&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  20:  &lt;/SPAN&gt;      &amp;lt;/service&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  21:  &lt;/SPAN&gt;    &amp;lt;/services&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  22:  &lt;/SPAN&gt;    &amp;lt;behaviors&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  23:  &lt;/SPAN&gt;      &amp;lt;serviceBehaviors&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  24:  &lt;/SPAN&gt;        &amp;lt;behavior name=&lt;SPAN class=str&gt;"CalculatorServiceBehavior"&lt;/SPAN&gt;&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  25:  &lt;/SPAN&gt;          &amp;lt;serviceMetadata httpGetEnabled=&lt;SPAN class=str&gt;"true"&lt;/SPAN&gt;/&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  26:  &lt;/SPAN&gt;          &amp;lt;serviceDebug includeExceptionDetailInFaults=&lt;SPAN class=str&gt;"False"&lt;/SPAN&gt;/&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  27:  &lt;/SPAN&gt;        &amp;lt;/behavior&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  28:  &lt;/SPAN&gt;      &amp;lt;/serviceBehaviors&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  29:  &lt;/SPAN&gt;    &amp;lt;/behaviors&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  30:  &lt;/SPAN&gt;  &amp;lt;/system.serviceModel&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  31:  &lt;/SPAN&gt;&amp;lt;/configuration&amp;gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;DIV class=csharpcode&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;

&lt;P&gt;Mais perguntas ? Ate o próximo Blogs, Markus&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bc4a2157-73ba-4710-b681-3fcc6ec18b4b class=wlWriterEditableSmartContent&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/WCF" rel=tag&gt;WCF&lt;/A&gt;,&lt;A href="http://technorati.com/tags/WindowsService" rel=tag&gt;WindowsService&lt;/A&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3270956" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/markuschristen/archive/tags/WCF/default.aspx">WCF</category></item><item><title>Como hospedar serviços WCF e WF ?</title><link>http://blogs.technet.com/markuschristen/archive/2009/04/17/hospedar-servi-os-wcf-e-wf.aspx</link><pubDate>Fri, 17 Apr 2009 23:11:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3227715</guid><dc:creator>Markus Christen</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/markuschristen/comments/3227715.aspx</comments><wfw:commentRss>http://blogs.technet.com/markuschristen/commentrss.aspx?PostID=3227715</wfw:commentRss><wfw:comment>http://blogs.technet.com/markuschristen/rsscomments.aspx?PostID=3227715</wfw:comment><description>&lt;p&gt;Tudo bem ?&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Esta semana foi uma semana muito “louca”. Várias visitas de clientes e apresentações fizeram minha semana muito interessante e valiosa. &lt;/p&gt;    &lt;p&gt;Primeiramente eu gostaria dividir com vocês um assunto que fui questionado durante um evento em São Paulo.&lt;/p&gt;    &lt;h2&gt;&lt;strong&gt;Como eu deveria hospedar meus serviços de WCF e WF ?&lt;/strong&gt;&lt;/h2&gt;    &lt;p&gt;Em primeiro lugar gostaria de mostrar a vocês, quais possibilidades nos temos e as vantagens, escalabilidade e limitações para cada um.Para se tornar produtivo, um serviço preciso ser hospedado dentro de um ambiente de execução que cria e controle os processos ao longo da vida. Serviços WCF (Windows Communication Foundation) são projetados para ser executado em qualquer processo do Windows que suporta código gerenciado. O WCF fornece um modelo de programação unificado para criar aplicativos orientados ao serviço. Este modelo de programação permanece consistente e é independente do ambiente de hospedagem. &lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/a8060bdd31eb_C5B7/image_6.png" mce_href="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/a8060bdd31eb_C5B7/image_6.png"&gt;&lt;img style="border-right-width: 0px; margin: 30px 0px 0px 100px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/a8060bdd31eb_C5B7/image_thumb_2.png" width="596" height="256" mce_src="http://blogs.technet.com/blogfiles/markuschristen/WindowsLiveWriter/a8060bdd31eb_C5B7/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;&lt;/blockquote&gt;  &lt;h1&gt;Managed Application&lt;/h1&gt;  &lt;blockquote&gt;   &lt;p&gt;Serviços WCF podem ser hospedados em qualquer aplicativo gerenciado. Esta é a opção mais flexível porque requer menos infra-estrutura para implantar. Você incorporar o código para o serviço dentro do código de aplicativo gerenciado e, em seguida, criar e abre uma instância de ServiceHost para tornar o serviço disponível. &lt;/p&gt;    &lt;p&gt;Mais informações: &lt;a title="How to- Host a WCF Service in a Managed Application" href="http://msdn.microsoft.com/en-us/library/ms731758.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms731758.aspx"&gt;How to- Host a WCF Service in a Managed Application&lt;/a&gt;&lt;/p&gt;    &lt;table border="1" cellspacing="0" cellpadding="2" width="823"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="137"&gt;&lt;strong&gt;Hospedagem&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="317"&gt;&lt;strong&gt;Cenários&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="367"&gt;&lt;strong&gt;Benefícios e Limitações&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="141"&gt;Managed Application&lt;/td&gt;          &lt;td valign="top" width="315"&gt;           &lt;ul&gt;             &lt;li&gt;Aplicações WPF &lt;/li&gt;              &lt;li&gt;Aplicações WinForm &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;          &lt;td valign="top" width="367"&gt;           &lt;ul&gt;             &lt;li&gt;Flexível &lt;/li&gt;              &lt;li&gt;Fácil de Implementar &lt;/li&gt;              &lt;li&gt;Não e uma solução altamente gerenciável &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/blockquote&gt;  &lt;h1&gt;&amp;#160;&lt;/h1&gt;  &lt;h1&gt;Windows Service&lt;/h1&gt;  &lt;blockquote&gt;   &lt;p&gt;Esta opção de hospedagem consiste em registrar o serviço WCF como um serviço gerenciado do Windows (anteriormente conhecido como serviço NT), para que a vida de processo do serviço é controlada pelo Gerenciador de controle de serviço (SCM) do Windows. &lt;/p&gt;    &lt;p&gt;Mais informações: &lt;a href="http://msdn.microsoft.com/en-us/library/ms733069.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms733069.aspx"&gt;How to: Host a WCF Service in a Managed Windows Service&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Passo a Passo com Rafael Godinho :&lt;a title="http://blogs.msdn.com/rafaelgodinho/archive/2009/03/23/screencast-hospedando-um-servi-o-wcf-em-um-windows-nt-service.aspx" href="http://blogs.msdn.com/rafaelgodinho/archive/2009/03/23/screencast-hospedando-um-servi-o-wcf-em-um-windows-nt-service.aspx"&gt;http://blogs.msdn.com/rafaelgodinho/archive/2009/03/23/screencast-hospedando-um-servi-o-wcf-em-um-windows-nt-service.aspx&lt;/a&gt;&lt;/p&gt;    &lt;table border="1" cellspacing="0" cellpadding="2" width="823"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="137"&gt;&lt;strong&gt;Hospedagem&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="317"&gt;&lt;strong&gt;Cenários&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="367"&gt;&lt;strong&gt;Benefícios e Limitações&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="141"&gt;Windows Service&lt;/td&gt;          &lt;td valign="top" width="315"&gt;           &lt;ul&gt;             &lt;li&gt;Serviços de longa duração &lt;/li&gt;           &lt;/ul&gt;            &lt;p mce_keep="true"&gt;&amp;#160;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="367"&gt;           &lt;ul&gt;             &lt;li&gt;Tempo de Serviço controlado pelosistema operaçional &lt;/li&gt;              &lt;li&gt;Suportado por todas versões de Windows &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/blockquote&gt;  &lt;h1&gt;IIS&lt;/h1&gt;  &lt;blockquote&gt;   &lt;p&gt;Usar o próprio IIS e uma opção de hospedagem integrado com o ASP.NET que usa os recursos que essas tecnologias oferecem, tais como processo de reciclagem, suspender instancias que são ociosos, processo de controle da saúde e ativação baseada em mensagem. Em sistemas operacionais como Windows XP e Windows Server 2003, esta é a solução preferida para hospedar aplicativos de serviço de Web que devem ser altamente disponíveis e altamente escalonável.&lt;/p&gt;    &lt;p&gt;Mais informações: &lt;a href="http://msdn.microsoft.com/en-us/library/ms733766.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms733766.aspx"&gt;How to: Host a WCF Service in IIS&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Passo a Passo com Rafael Godinho: &lt;a title="http://blogs.msdn.com/rafaelgodinho/archive/2009/04/22/screencast-hospedando-um-servi-o-wcf-no-iis.aspx" href="http://blogs.msdn.com/rafaelgodinho/archive/2009/04/22/screencast-hospedando-um-servi-o-wcf-no-iis.aspx"&gt;http://blogs.msdn.com/rafaelgodinho/archive/2009/04/22/screencast-hospedando-um-servi-o-wcf-no-iis.aspx&lt;/a&gt;&lt;/p&gt;    &lt;table border="1" cellspacing="0" cellpadding="2" width="823"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="137"&gt;&lt;strong&gt;Hospedagem&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="317"&gt;&lt;strong&gt;Cenários&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="367"&gt;&lt;strong&gt;Benefícios e Limitações&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="141"&gt;IIS&lt;/td&gt;          &lt;td valign="top" width="315"&gt;           &lt;ul&gt;             &lt;li&gt;Usando capacidades de TI &lt;/li&gt;              &lt;li&gt;Executando um serviço WCF lado ao lado com ASP.NET usando o protocolo HTTP &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;          &lt;td valign="top" width="367"&gt;           &lt;ul&gt;             &lt;li&gt;Processo de reciclagem. &lt;/li&gt;              &lt;li&gt;Suspensão de instancias quando ocioso &lt;/li&gt;              &lt;li&gt;Processo de controle da saúde &lt;/li&gt;              &lt;li&gt;Ativação baseada em mensagem &lt;/li&gt;              &lt;li&gt;Apenas HTTP &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/blockquote&gt;  &lt;p mce_keep="true"&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;IIS/WAS (Windows Activation Service)&lt;/h1&gt;  &lt;blockquote&gt;   &lt;p&gt;O WAS continua o modelo de processo do IIS (pools de aplicativos e ativação baseada em mensagem) , mas remove a dependência do HTTP da arquitetura de ativação. O IIS 7.0 usa WAS para realizar a ativação baseada em mensagens via HTTP. WAS fornecer também a ativação baseado em mensagem sobre outros protocolos que o WCF oferece suporte, como TCP, MSMQ e pipes . &lt;/p&gt;    &lt;p&gt;Mais informações: &lt;a href="http://msdn.microsoft.com/en-us/library/ms733109.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms733109.aspx"&gt;How to: Host a WCF Service in WAS&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Passo a Passo com Rafael Godinho: &lt;a title="http://blogs.msdn.com/rafaelgodinho/archive/2009/05/12/screencast-hospedando-um-servi-o-wcf-no-was.aspx" href="http://blogs.msdn.com/rafaelgodinho/archive/2009/05/12/screencast-hospedando-um-servi-o-wcf-no-was.aspx"&gt;http://blogs.msdn.com/rafaelgodinho/archive/2009/05/12/screencast-hospedando-um-servi-o-wcf-no-was.aspx&lt;/a&gt;&lt;/p&gt;    &lt;table border="1" cellspacing="0" cellpadding="2" width="823"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="137"&gt;&lt;strong&gt;Hospedagem&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="317"&gt;&lt;strong&gt;Cenários&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="367"&gt;&lt;strong&gt;Benefícios e Limitações&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="141"&gt;IIS/WAS&lt;/td&gt;          &lt;td valign="top" width="315"&gt;           &lt;ul&gt;             &lt;li&gt;Executando um serviço WCF sem instalar HTTP-IIS usando vários protocolos de transporte &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;          &lt;td valign="top" width="367"&gt;           &lt;ul&gt;             &lt;li&gt;Processo de reciclagem. &lt;/li&gt;              &lt;li&gt;Suspensão de instancias quando ocioso &lt;/li&gt;              &lt;li&gt;Processo de controle da saúde &lt;/li&gt;              &lt;li&gt;Ativação baseada em mensagem &lt;/li&gt;              &lt;li&gt;Multi Protocolo: TCP,HTTP,MSMQ,Pipe &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/blockquote&gt;  &lt;p mce_keep="true"&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Codinome – Dublin (CTP)&lt;/h1&gt;  &lt;blockquote&gt;   &lt;p&gt;O Dublin continua o modelo de processo do IIS (pools de aplicativos e ativação baseada em mensagem) , mas remove a dependência do HTTP da arquitetura de ativação. Dubkin agrega varios novas funcionalidades de instrumentacao e hospedagem. &lt;/p&gt;    &lt;p&gt;Mais informações: &lt;a href="http://msdn.microsoft.com/en-us/magazine/2009.01.net40.aspx" mce_href="http://msdn.microsoft.com/en-us/magazine/2009.01.net40.aspx"&gt;MSDN Dublin&lt;/a&gt;&lt;/p&gt;    &lt;table border="1" cellspacing="0" cellpadding="2" width="823"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="137"&gt;&lt;strong&gt;Hospedagem&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="317"&gt;&lt;strong&gt;Cenários&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="367"&gt;&lt;strong&gt;Benefícios e Limitações&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="141"&gt;Dublin&lt;/td&gt;          &lt;td valign="top" width="315"&gt;           &lt;ul&gt;             &lt;li&gt;Executando um serviço WCF sem instalar HTTP-IIS usando vários protocolos de transporte &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;          &lt;td valign="top" width="367"&gt;           &lt;ul&gt;             &lt;li&gt;Processo de reciclagem. &lt;/li&gt;              &lt;li&gt;Suspensão de instancias quando ocioso &lt;/li&gt;              &lt;li&gt;Processo de controle da saúde &lt;/li&gt;              &lt;li&gt;Ativação baseada em mensagem &lt;/li&gt;              &lt;li&gt;Multi Protocolo: TCP,HTTP,MSMQ,Pipe &lt;/li&gt;              &lt;li&gt;Chamada unica de persistençia &lt;/li&gt;              &lt;li&gt;Monitoramento &amp;amp; Rastreamento &lt;/li&gt;              &lt;li&gt;Proçeso de Implementação &lt;/li&gt;              &lt;li&gt;Processo de Routeamento &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Abraços Markus Christen&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3227715" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/markuschristen/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/markuschristen/archive/tags/WCF/default.aspx">WCF</category></item></channel></rss>