丰云 2015-04-20 05:20 采纳率: 60%
浏览 5552
已采纳

webapi跨域 为何不能实现? 有哪些注意事项?

如题,我按网上给的方法,用System.Web.Http.Cors做webapi跨域的设置,但还是无法跨域访问,
代码如下
启动跨域:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Formatting;
using System.Web.Http;

namespace WebApi
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

            //开启跨域设置
            config.EnableCors();
            //GlobalConfiguration.Configuration.EnableCors();
            //返回json格式的控制
            GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("json", "true", "application/json"));

        }
    }
}

控制器配置


using System.Web.Http;
using System.Web.Http.Cors;

namespace WebApi.Controllers
{
    [EnableCors(origins: "http://localhost:40226", headers: "*", methods: "*")]
    public class MouldController : ApiController
    {
        [ApiVisitFilter]
        public MouldModel Get([FromUri]ParaModel model)
        {
            var mould = new MouldModel();
           // 。。。。。。
            return mould;
        }
    }
}  

网上很多这样的描述,都说能实现跨域访问。我也相信微软不至于特意开发一个System.Web.Http.Cors来骗我们,但为什么我就没成功呢?
到底有哪些地方没注意或做错了?

  • 写回答

4条回答

  • 娃都会打酱油了 2015-04-25 00:51
    关注

    暂时还没研究过通过dll来实现cors跨域,目前都是通过在config中添加配置实现的跨域

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?