是否可以在asp.net中实现"Access-Control-Allow-Origin"标头
dtb*_*dtb 61
ASP.NET上的CORS
如果您无权配置IIS,则仍可以通过将以下行添加到源页面来通过ASP.NET添加标头:
Run Code Online (Sandbox Code Playgroud)Response.AppendHeader("Access-Control-Allow-Origin", "*");
Dan*_*elV 15
另一种选择是直接在web.config上添加它:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="http://www.yourSite.com" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)
......我在这里发现了这个
1.Install-Package Microsoft.AspNet.WebApi.Cors
2.在WebApiConfig.cs中添加此代码.
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.EnableCors();
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Run Code Online (Sandbox Code Playgroud)
3.加上这个
using System.Web.Http.Cors;
Run Code Online (Sandbox Code Playgroud)
4.在Api Controller(HomeController.cs)中添加此代码
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class HomeController : ApiController
{
[HttpGet]
[Route("api/Home/test")]
public string test()
{
return "";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
108776 次 |
| 最近记录: |