Crie um projeto C# Web usando o template WCF Service Application. Dê o nome ExemploWCF para o projeto e SolucaoWCF para a solução.
Veja, no Solution Explorer, que já foi criado um serviço (Service1) como exemplo:
Clique com o botão direito do mouse sobre o arquivo IService.cs e, no menu de contexto, escolha Renomear. Mude o nome para ICalculadora.cs. Uma mensagem dizendo que, já que você mudou o nome do arquivo, poderá mudar o nome da interface, e de todas as suas chamadas, automaticamente. Responda Yes.
Abra o arquivo ICalculadora.cs e veja que o nome da interface mudou:
Renomeie o arquivo Service1.svc para Calculadora.svc e repare no código que NÃO É AUTOMÁTICA a troca do nome da classe:
Clique com o botão direito do mouse sobre o nome da classe Service1 e, no menu de contexto, escolha Refactor e Rename...:
Altere o nome para Calculadora e clique em OK:
Clique em Apply na caixa de diálogo Preview changes - Rename, para confirmar a alteração:
Abra o arquivo web.config e substitua (CTRL+H) o texto Service1 (nome antigo da classe) por Calculadora (nome novo):
Clique OK na confirmação:
Abra o arquivo ICalculadora.cs e altere o seu conteúdo para (você está eliminando o código de exemplo que o VS2008 colocou e criando os seus membros):
using System.ServiceModel;
namespace ExemploWCF
{
[ServiceContract]
public interface ICalculadora
{
[OperationContract]
double Somar(double x, double y);
[OperationContract]
double Subtrair(double x, double y);
[OperationContract]
double Multiplicar(double x, double y);
[OperationContract]
double Dividir(double x, double y);
}
}
Após essa alteração, abra o arquivo Calculadora.svc.cs e clique com o botão direito do mouse sobre a interface ICalculadora. Escolha a opção Implement Interface, Implement Interface:
Altere o código gerado para que fique assim:
namespace ExemploWCF
{
public class Calculadora : ICalculadora
{
#region ICalculadora Members
public double Somar(double x, double y)
{
return x + y;
}
public double Subtrair(double x, double y)
{
return x - y;
}
public double Multiplicar(double x, double y)
{
return x * y;
}
public double Dividir(double x, double y)
{
return x / y;
}
#endregion
}
}
Agora seu serviço Calculadora está pronto e é só testar. Execute pressionando F5. Dê OK na mensagem que aparece, para que possa utilizar os recursos de debug, se necessário:
E, quando você achou que tudo ia bem, aparece um erro (Unrecognized configuration section system.serviceModel):
Para corrigir essa situação, faça o seguinte: abra o prompt de comando no modo administrador:
Execute o comando ServiceModelReg.exe com o argumento -i:
Executando novamente, temos sucesso:
OBS: Alguns passos de configuração podem não ser necessários na sua máquina: eu uso o Windows 7 Ultimate Edition.