Você está na página 1de 4

Criação de SOAP WCF

1 – Iniciar o Microsoft Visual Studio em Modo Administrador (clicar com o botão do lado
direito do rato sobre o icon do Visual Studio e selecionar a opção executar como
administrador )

2 – Criar um Novo Web Site (Seleccionar File – New Web Site – Visual c# - ASP.Net Web Site –
Alterar o Web Location =http – Clicar em Browser + Seleccionar Local IIS – Seleccionar Default
_Web_Site (http://localhost/xpto) ) (Deverá criar no Framework .Net 4)
3- Sobre o Web Site, adicionar um novo item do Tipo “WCF Service” (Clicar com o botão do
lado direito do rato e selecionar a opção Add new Item +Visual C# + WCF Service

4 – Executar o Serviço no Browser (clicar com o botão direito do rato sobre o ficheiro que
contem a classe serviço, normalmente tem extensão svc, e clicar sobre a opção )

Se a execução do Browser der o erro:

The service cannot be activated because it does not support ASP.NET


compatibility. ASP.NET compatibility is enabled for this application. Turn off
ASP.NET compatibility mode in web.config or add
AspNetCompatibilityRequirements attribute to the service type with
RequirementsMode setting as “Allowed” or “Required”.

É necessário dizer que o service vai fazer parte do pipeline ASP.NET para poder usar várias das
suas funcionalidades como por exemplo usar a sessão.

5 – Será então necessário primeiro importar, na classe serviço com extensão .cs, a biblioteca
System.ServiceModel.Activation através do comando:

using System.ServiceModel.Activation;

6 – No ficheiro do Serviço com extensão .cs, deve colocar-se a seguinte linha antes da
declaração da classe.

[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsM
ode.Allowed)] na classe que implementa o Serviço e/ou <serviceHostingEnvironment
aspNetCompatibilityEnabled="true"/> no Web.config

7 – Executar novamente o serviço no Browser, já não deve dar erro.

8 – Para podermos invocar o serviço alteremos o método doWork, alterando o retorno de void
para String e retornando por exemplo “Serviço efectuado”.
9 – Lançar outra vez no browser o serviço, garantir que não há erros e copiar o URL do Serviço

Criar UI e Invocar o Serviço SOAP

1- Adicionar à solução um novo projecto do tipo Web Application (Clicar com o botão do
lado direito sobre a Solution e fazer Add + New Project + Visual c# + Web + ASP.NET
Web Application)
2- Adicionar uma referência ao serviço que anteriormente foi criado e que está alojado
no IIS – Para isso clicar com o botão do lado direito do rato sobre References e
selecionar a opção Add Service Reference
3- Na página Default.aspx adicionar um botão e uma label

4- No início da classe, fazer o import da referência. Se ela se chamar, por exemplo,


ServiceReference1, deverá incluir-se a linha:

using ServiceReference1;

5- No evento click do botã o, declarar uma instâ ncia da classe do serviço e usar o
método doWork. Se a classe do serviço se chamar Service o có digo será :

ServiceClient client = new ServiceClient();

Label1.Text = client.DoWork();

6- Abrir a pá gina Default.aspx no browser, clicar no botã o e ver que na label aparece
o resultado pedido (Necessá rio averiguar se é necessá rio alterar o programa de
arranque nas propriedades da Solution.
Criar Serviço REST

1- Criar um Novo Web Site (Seleccionar File – New Web Site – Visual c# - ASP.Net Web
Site – Alterar o Web Location =http – Clicar em Browser + Seleccionar Local IIS –
Seleccionar Default _Web_Site (http://localhost/xpto) ) (Deverá criar no Framework
.Net 4)

2- Adicionar um item do tipo “WCF Service”

3- Adicionar compatibilidade com ASPNET, tal como no serviço SOAP acima

[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsM
ode=Allowed)] na classe que implementa o Serviço e/ou <serviceHostingEnvironment
aspNetCompatibilityEnabled="true"/> no Web.config

Se nas classes nã o tem namespace deverá ser criado. Exemplo:


namespace MyREST
{
public class Clientes : IClientes
{
public void DoWork()
{
}
}
}

Você também pode gostar