Cada um dos serviços implementa uma injeção de dependência no construtor, para chamar o serviço é necessário um código parecido com:
using( var service = BusinessService.Factory.Service1(string URI))
{
//Do stuff
}
A aplicação web por sua vez, tem no arquivo de configuração a declaração de todas as URIs necessárias, algo parecido com:
<appSettings>
<add key="DataService1" value="http://localhost:1429/Service1/"/>
<add key="BusinessService1" value="http://localhost:2573/Service1/"/>
</appSettings>
Um problema foi encontrado quando o projeto era iniciado em outras máquinas, no ambiente de desenvolvimento: O URI do serviço era alterado e invalidava os dados do arquivo de configuração.
Isso acontecia por quê o Visual Studio definia uma porta aleatória para a aplicação que disponibiliza os serviços. Pesquisando na MSDN, descobri que existe uma maneira de configurar uma porta fixa para cada um dos projetos WEB na solução:
- In Solution Explorer, right-click the name of the Web application project for which you want to specify a Web server, and then click Properties.
- In the Properties window, click the Web tab.
- To choose the Visual Studio Development Server, under Servers, click Use Visual Studio Development Server.
- To use a specific port number with the Visual Studio Development Server, select Specific port and enter the port number. By default, the Auto-assign Port option is selected, and the port number that has been assigned to your application appears.
Segue o Link, que também contém outras dicas: http://msdn.microsoft.com/en-us/library/ms178108(v=vs.100).aspx

No comments:
Post a Comment