Tôi đã xây dựng dịch vụ ASP.NET Web API và bật CORS trong dịch vụ đó. Dịch vụ này được sử dụng để phân phối tài nguyên mẫu báo cáo (html, image, css, font)
. Ứng dụng web tải mẫu và hiển thị báo cáo dựa trên mẫu đã tải xuống.ASP.NET CORS chặn yêu cầu phông chữ
Vì vậy, do enpoint dịch vụ: http://templates.domain.com
, và tôi cố gắng truy cập vào các dịch vụ (REST, Image, Font)
từ một ứng dụng web (http://client.domain.com
), sau đó ứng dụng client web sẽ được tải:
http://templates.domain.com/templates/:templateName
http://templates.domain.com/templates/:templateName/css/style.css
http://templates.domain.com/templates/:templateName/image/header.jpg
http://templates.domain.com/templates/:templateName/font/test.ttf
Ở trên, API REST, CSS và hình ảnh từ dịch vụ hoạt động tốt, nhưng phông chữ bị chặn/không thành công.
Font từ nguồn gốc 'http://localhost:49350' đã bị chặn từ tải bởi chính sách Cross-Origin Resource Sharing: Không 'Access-Control-Allow-Origin' đầu có mặt trên yêu cầu tài nguyên. Origin 'null'
Cho đến nay, tôi đã thử các giải pháp bên dưới, nhưng phông chữ vẫn bị chặn.
Microsoft.Owin.Cors
:app.UseCors(CorsOptions.AllowAll);
Microsoft.AspNet.WebApi.Cors
:var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors);
Bạn có tiện ích mở rộng phông chữ được xác định trong tệp web.config của giao diện người dùng không? Tôi nhận được một 404 (không lỗi CORS) nếu tôi không xác định chúng, vì vậy có lẽ đây không phải là vấn đề. ví dụ. staticContent –
@S. Baggy no 404, chỉ lỗi CORS –
Bạn có thể gửi yêu cầu/tiêu đề phản hồi không? – swestner