Fala galera!
Dando continuidade ao tema ASP.NET SignalR o qual comentei aqui já começo a série de exemplos com a configuraçÃo que utilizei me nosso projeto para permitir o uso entre diferentes domínios, o famoso CORS.
public partial class Startup
{
public void ConfigureSignalR(IAppBuilder app)
{
IContainer container = ContainerConfig.Configure();</p>
<pre><code> var resolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container);
GlobalHost.DependencyResolver = resolver;
var config = new HubConfiguration()
{
Resolver = resolver,
EnableDetailedErrors = true,
EnableJSONP = true
};
var cors = new CorsOptions()
{
PolicyProvider = new CorsPolicyProvider()
{
PolicyResolver = context =>
{
var policy = new CorsPolicy();
policy.Origins.Add(@"http://nossaappweb.azurewebsites.net");
policy.AllowAnyMethod = true;
policy.AllowAnyHeader= true;
policy.SupportsCredentials = true;
return Task.FromResult(policy);
}
}
};
app.Map("/signalr", map =>
{
map.UseCors(cors);
map.RunSignalR(config);
});
}
}
Com este método estou fazendo as seguintes configurações:
- Habilitando o SignalR e o uso de CORS para o endpoint /signalr;
Habilitando JXP para browsers legados; - Habilitando a injeção de dependencia utilizando o Autofac;
No próximo post irei mostrar como ficou nosso Hub e uma dica para escapar do Singleton que é implementado por padrão para ele.
Até a próxima!