Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IHttpModule筛选器写入方法不是asp.net_Asp.net_Jsonp_Asp.net Web Api - Fatal编程技术网

IHttpModule筛选器写入方法不是asp.net

IHttpModule筛选器写入方法不是asp.net,asp.net,jsonp,asp.net-web-api,Asp.net,Jsonp,Asp.net Web Api,我试图更改响应以获取jsonp(用于web服务),但问题是从来没有调用过write方法,只在最后调用flush(),url是 本地主机:8080/api/employees 它的调用web api和employee是一个控制器文件 调用的控制器方法 public List<Models.Employee> Get() { var employees = from e in _context.Employees

我试图更改响应以获取jsonp(用于web服务),但问题是从来没有调用过write方法,只在最后调用flush(),url是 本地主机:8080/api/employees

它的调用web api和employee是一个控制器文件

调用的控制器方法

public List<Models.Employee> Get() {

            var employees = from e in _context.Employees
                            select new Models.Employee {
                                Id = e.EmployeeID,
                                FirstName = e.FirstName,
                                LastName = e.LastName
                            };


            return employees.ToList();

}

现在JsonResponseFilter.write不被称为这就是问题所在,任何人都请回复以解决它

您做错了。不要使用任何IHTTP模块。在Web API中实现这一点的正确方法是使用自定义API。例如,您可以在
应用程序_Start
中集成一个,它将为您的web方法启用JSONP:

var config = GlobalConfiguration.Configuration;
config.Formatters.Insert(0, new JsonpMediaTypeFormatter());
var config = GlobalConfiguration.Configuration;
config.Formatters.Insert(0, new JsonpMediaTypeFormatter());