我構建了一個ASP.NET Web API服務並在該服務中啓用了CORS。此服務用於提供報告模板資源(html, image, css, font)
。 Web客戶端根據下載的模板加載模板並顯示報告。ASP.NET CORS阻止字體請求
因此,考慮到服務enpoint:http://templates.domain.com
, 我嘗試從一個Web應用程序(http://client.domain.com
)訪問該服務(REST, Image, Font)
,那麼Web客戶端應用程序將加載:
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
在上面,服務的REST API,CSS和圖像運行良好,但字體被阻止/失敗。從出身「http://localhost:49350」
字體已經從 加載阻止跨來源資源共享政策:否 「訪問控制允許來源」標頭出現在請求 資源。 Origin'null'
到目前爲止,我已經嘗試了下面的解決方案,但字體仍然被阻止。
Microsoft.Owin.Cors
:app.UseCors(CorsOptions.AllowAll);
Microsoft.AspNet.WebApi.Cors
:var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors);
你有沒有在你的前端web.config文件中定義的字體擴展?如果我沒有定義它們,我會得到一個404(不是CORS錯誤),所以也許這不是問題。例如 staticContent –
@S。寬鬆的沒有404,只是CORS錯誤 –
你可以發佈請求/響應頭? – swestner