Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais
WCF : Criando Serviços em Class Library
Data:2/7/2012

Translate this page now :





Categories: WCF

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :
Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon

Veja Também


 

Em um projeto web, quando adicionamos um WCF Service, além do arquivo .SVC é adicionado um arquivo .cs para a interface do serviço e um arquivo .cs para a implementação do serviço como code-behind do arquivo .svc.

Porém misturar a implementação do serviço dentro de um projeto web não é necessariamente uma boa idéia, poderia ser melhor ter a implementação do serviço devidamente separada em uma class library. A separação de imediato já criaria uma maior versatilidade para o serviço poder ser utilizado em qualquer host, mas essa é apenas uma das vantagens, manter a implementação fora da camada de interface é benéfica.

Então vamos ver um passo a passo para a criação de um serviço em uma class library, usando o arquivo .SVC apenas para hospedar o serviço em um site :

Passo a passo


1) Crie uma nova class library chamada libCalculo

2) Adicione no projeto uma referência para o assembly System.ServiceModel

3) No projeto libCalculo crie uma interface chamada ICalculo, conforme o código abaixo :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

namespace libCalculo
{
    [ServiceContract]
    public interface ICalculo
    {
        [OperationContract]
        decimal Calcular();
    }
}

 

4) No projeto libCalculo crie uma classe ServicoCalculo conforme o código abaixo :

    public class ServicoCalculo : ICalculo
    {
        public decimal Calcular()
        {
            return 10 * 20;
        }
    }

5) Adicione na solução uma nova Empty Web Application chamada calculoHost

SNAG-0014


6) No projeto calculoHost adicione uma referência para o projeto Calculo

SNAG-0016


O host precisa de uma referência para o projeto do serviço, pois irá hospeda-lo.


7) Nesta aplicação, adicione um novo WCF Service chamado srvCalculo


Adicionamos um serviço, mas na verdade não o utilizaremos. Usaremos apenas o arquivo .svc apontando para o serviço já existente no projeto libCalculo


8) Apague a interface IsrvCalculo que foi adicionada ao projeto web.

9) Apague o arquivo de code-behind chamado srvCalculo.svc.cs


10) Abra o arquivo srvCalculo.svc, apague o atributo codeBehind e altere o atributo Service para que a tag fique igual abaixo :

<%@ ServiceHost Language="C#" Debug="true" Service="libCalculo.ServicoCalculo" %>

10) Defina o projeto calculoHost como startup project.

11) Defina o arquivo srvCalculo.svc como start page.

12) Rode a aplicação.

SNAG-0017



Categories: WCF


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br