problemas de domínio cruzado do núcleo asp.net 3.1, versão 2.2 do método seguido se não funciona. Versão 3.1 deve "estritamente" para questões de domínio cruzado muito.
Representantes da Microsoft explicou-me por favor o seguinte site:
http://www.zyiz.net/tutorial/detail-4801.html
Você não pode abrir
AllowAnyOrigin () .AllowAnyMethod () .AllowAnyHeader () .AllowCredentials ());
Caso contrário ele irá lançar uma exceção.
// 会抛下面这个异常: System.InvalidOperationException: Endpoint AnXin.DigitalFirePlatform.WebApi.Controllers.StaticPersonController.Get (AnXin.DigitalFirePlatform.WebApi) contém CORS metadados, mas um middleware não foi encontrado que suporta CORS. Configure o seu arranque da aplicação, adicionando app.UseCors () dentro da chamada para Configure (..) no código de inicialização do aplicativo. A chamada para app.UseAuthorization () deve aparecer entre app.UseRouting () e app.UseEndpoints (...). em Microsoft.AspNetCore.Routing.EndpointMiddleware.ThrowMissingCorsMiddlewareException (extremidade do terminal) em Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke (HttpContext httpContext) em Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke (HttpContext contexto) em Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke (HttpContext contexto)
Então nós apenas abri-los ou dois na linha. O seguinte é o meu código, pro-teste disponíveis:
1, classe de inicialização para definir uma variável global:
Readonly corda MyAllowSpecificOrigins = " _myAllowSpecificOrigins " ; // nome facilmente jogar
2, método ConfigureServices para escrever o seguinte código:
// olhar para tutoriais de rede ARTIGO ORIGINAL services.AddCors (Opções => { options.AddPolicy (MyAllowSpecificOrigins, Builder => builder.AllowAnyOrigin () .WithMethods ( " GET " , " POST " , " HEAD " , " PUT " , " DELETE " , " OPÇÕES " ) ); });
3, Configurar método em adição middleware:
app.UseCors (MyAllowSpecificOrigins);
CORS middleware deve ser configurado para ser realizado entre chamadas para UseRouting e UseEndpoints de. Middleware não está configurado corretamente levará a deixar de funcionar corretamente.
Ajax escrever o próximo teste:
<script type = "text / javascript"> ($ função () { $ .get ( "https://webapi-dev.zyiz.net/api/Health/POk", função (resultado) { $ ( "#mycontent " ) .html (resultado); }); }); </ script>
Os resultados são os seguintes: