Code Snippets para WCF


Tenho escrito diversos hosts de serviços WCF para artigos que tenho escrito bem como para alguns testes que estamos fazendo na empresa onde trabalho. Como a idéia é apenas criar um projeto, na maioria das vezes, do tipo Console para servir de host, tenho que a todo momento instanciar a classe ServiceHost, especificar o tipo do serviço, o endereço, contrato, bindings, endpoints, description, etc.

Isso me levou a criar alguns code snippets (neste momento somente para C#) para automatizar essas tarefas mais comuns, evitando escrever o mesmo código toda vez que preciso criar um host. Neste momento tenho apenas nove snippets que estão me ajudando muito, poupando grande parte do trabalho que antes eu tinha para a criação um serviço/host dummy. Com isso, eu decidi compartilhar esses recursos. Abaixo estão listados cada um deles e suas respectivas utilidades e, entre paranteses, está o atalho que utilizamos dentro do Visual Studio:

  • asyncContract.snippet (asyncContract): estrutura para gerar um contrato assíncrono (BeginXXX/EndXXX).
  • basicServiceHost.snippet (bsh): estrutura do ServiceHost altamente customizável (endereço, bindings, etc.).
  • basicServiceImplementation.snippet (basicServiceImplementation): implementação padrão para uma classe que representa o serviço, podendo definir o contrato, gerenciamento de instancia e concorrencia.
  • callback.snippet (wcfCallback): estrutura para invocar um método de callback.
  • httpDuplexServiceHost.snippet (wsduplexsh): ServiceHost customizado para WSDuplexBinding.
  • httpServiceHost.snippet (httpsh): ServiceHost customizado para BasicHttpBinding.
  • tcpServiceHost.snippet (tcpsh): ServiceHost customizado para NetTcpBinding.
  • webServiceHost.snippet (websh): ServiceHost customizado para WebHttpBinding (Ajax).
  • wsServiceHost.snippet (wssh): ServiceHost customizado para WSHttpBinding.

Para utilizá-los, basta extrair e colocá-los no seguinte endereço: UsuarioCorrenteDocumentsVisual Studio 2008Code SnippetsVisual C#My CodeSnippets. Gostaria muito de utilizar os elementos Reference e Imports dentro dos arquivos de snippets para automatizar a referencia ao assembly System.ServiceMode.dll e adicinar a diretiva using para o namespace System.ServiceModel mas, infelizmente, isso é uma funcionalidade que está apenas disponível para snippets escritos para Visual Basic.

Publicidade

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s