对于WebAPI来说创建出来以后有着直接的发布的问题直接影响着webapi 的使用我们来逐一记录并解决,使WebAPI 达到我们的使用的目的。
1.跨域的问题 :
可以参考http://blog.csdn.net/milijiangjun/article/details/78344407
解决的办法
在响应头中加入解决信息,代码如下 originHeaderdefault 可以指定特定的网络地址请求
public class CrossSiteAttribute : System.Web.Http.Filters.ActionFilterAttribute
{
private const string Origin = "Origin";
private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin";
private const string originHeaderdefault = "*";
public override void OnActionExecuted(System.Web.Http.Filters.HttpActionExecutedContext actionExecutedContext)
{
actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);
}
}
使用方法如下:
[CrossSiteAttribute]
public IEnumerable<Student> GetALLStu(string name, string name2)
{
return GetAllStuOrC(name, name2);
}
2.默认的请求数据 为xml 格式
如果想改为json 格式怎么办呢?解决方法如下 找到Global.asax 配置文件添加
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
如图:
3.如果想进行运行的时候进行方法多个同步访问成功的解决办法
3.1
3.2 更改web config 增加action ,让其访问指定只想action
访问的方式如下
http://192.168.0.178:8068/VR720_API/api/Test/GetAllStuOrc?name=123&name2=ccbxd -- 获取信息
http://192.168.0.178:8068/VR720_API/api/Test/GetAllStu?name=123&name2=b