WebApi服务以及跨域设置
WCF 它利用TCP、HTTP、MSMQ等传输协议构建“契约先行”的服务。WCF最初为基于SOAP的服务而设计[xml],繁琐、冗余、慢、沉重 WebApi 基于http协议,轻量级的,支持URL路由,透过用户熟悉的MVC风格路由语义,生成干净的URL
新建webapi项目就不说了,webapi充当服务,其实也就是一个类似于mvc的项目
public class DongController : ApiController
{
//Us_User自己新建的一个实体类
public List<Us_User> GetUserId(int k)
{
var list = new List<Us_User>();
for (int i = ; i < k; i++)
{
var model = new Us_User
{
Id = i,
Age = i * ,
Name = "你好" + i,
Sex = "男" + i
};
list.Add(model);
}
return list;
}
[HttpPost]
//[FromBody]它指拿HttpRequestMessage里参数
public IList<Us_User> PostUserName([FromBody]ParamModel obj)
{
var list = new List<Us_User>();
for (int i = ; i < obj.Index; i++)
{
var model = new Us_User
{
Id = i,
Age = i * ,
Name = obj.Phone + i,
Sex = obj.UName + i
};
list.Add(model);
}
return list;
}
}
另一个项目开始调用
//Get方式
public ActionResult Index()
{
HttpClient client = new HttpClient();
var responseJson = client.GetAsync("http://localhost:40821/api/Dong/GetUserId?k=9").Result.Content.ReadAsStringAsync().Result;
var list = JsonConvert.DeserializeObject<List<Us_User>>(responseJson);
return View();
}
//Post方式
public void GetName(string userName)
{
var json = JsonConvert.SerializeObject(new
{
Index = ,
Num = ,
Phone = "",
UName = "hehe"
});
HttpContent httpContent = new StringContent(json);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpClient client = new HttpClient();
var responseJson = client.PostAsync("http://localhost:40821/api/Dong/PostUserName", httpContent).Result.Content.ReadAsStringAsync().Result;
var list = JsonConvert.DeserializeObject<List<Us_User>>(responseJson);
}
使用put方式时出现不支持
设置WebApi跨域 ,WebApi的web.config中加入下面跨域跨域设置即可
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
WebApi服务以及跨域设置的更多相关文章
- C# ASP.NET WebApi 跨域设置
概述 前后端分离开发模式,一定会遇到跨域的问题.这里收集了2种 C# Asp.Net webapi 相关的跨域解决方案,方便后续查找参考. 2021/10/28 更新: 有更加简单高效的方式推荐< ...
- C# ASP.NET MVC/WebApi 或者 ASP.NET CORE 最简单高效的跨域设置
概述 前面写了一篇:<C# ASP.NET WebApi 跨域设置>的文章,主要针对 ASP.NET WebApi 项目. 今天遇到 ASP.NET MVC 项目也需要设置跨域,否则浏览器 ...
- 跨域调用webapi web端跨域调用webapi
web端跨域调用webapi 在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webap ...
- SpringCloud微服务Zuul跨域问题
目前项目结构是VUE做前端,后端采用微服务架构,在开发时前端需要跨域请求数据,通过ZuulFilter配置解决了简单跨域请求需要.但当需要在请求的header中增加token信息时,出现了请求失败的情 ...
- Ajax请求WCF服务以及跨域的问题解决
Ajax请求WCF服务以及跨域的问题解决 这两天准备重构一下项目,准备用纯html+js做前台,然后通过ajax+WCF的方式来传递数据,所以就先研究了一下ajax访问的wcf的问题,还想到还折腾了一 ...
- .net core webapi搭建(2)跨域
Core WebAPI中的跨域处理 在使用WebAPI项目的时候基本上都会用到跨域处理 Core WebAPI的项目中自带了跨域Cors的处理,不需要单独添加程序包 如图所示 修改 Configure ...
- Api跨域设置
跨域设置:(服务端) webconfig文件中,system.webServer节点下添加 <!--跨域请求:三个配置信息--> <httpProtocol> <cust ...
- ASP.NET WebAPI2复杂请求跨域设置
ASP.Net Core的跨域设置比较简单 官方都整合了 具体的参见微软官方文档: https://docs.microsoft.com/zh-cn/aspnet/core/security/cor ...
- 彻底解决Asp.netCore WebApi 3.1 跨域时的预检查204 options重复请求的问题
Asp.netCore WebApi 3.1 跨域的预检查options问题 1:我们直接使用core跨域的中间件 ,注入跨域服务, services.AddCors(options => { ...
随机推荐
- rtl8201以太网卡调试【转】
转自:https://blog.csdn.net/wenjin359/article/details/82893122 参考博客:https://blog.csdn.net/zpzyf/article ...
- 基于tiny4412的Linux内核移植 -- 设备树的展开【转】
转自:https://www.cnblogs.com/pengdonglin137/p/5248114.html#_lab2_3_1 阅读目录(Content) 作者信息 平台简介 摘要 正文 一.根 ...
- linux虚拟机网络服务问题
这里说一下我遇到的一个网络问题,前天修改了虚拟机的主机名,重启虚拟机之后,使用新的主机名和IP都可以访问虚拟机,但昨天开启虚拟机之后,宿主机使用主机名和IP都不能访问虚拟机,于是,我通过ifconfi ...
- Zookeeper-Watcher机制与异步调用原理
转载于:http://shift-alt-ctrl.iteye.com/blog/1847320 Watcher机制:目的是为ZK客户端操作提供一种类似于异步获得数据的操作. 1)在创建Zookeep ...
- 移动端触屏滑动touches使用
代码 var start = { x: 0, y: 0 } var end = { x: 0, y: 0 } document.addEventListener('touchstart', funct ...
- Java RMI与RPC的区别
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6542811.html 一:RPC 远程过程调用 RPC(Remote Procedure Call Prot ...
- sudo初级授权设置
linux中,不可能人人都是用root用户去修改一些文件或者操作,所以一般需要用到对用户的权限控制,linux中可以是sudo来实现 首先,权限控制的文件中 /etc/sudoers中进行配置,文件为 ...
- JavaScript 删除某个数组中指定的对象
返回对象在数组中的下标: _arr表示一个Array数组,里面包括了很多的对象如下图: _obj表示某一个数组对象 function getIndex (_arr,_obj) { var le ...
- Python-WEB前端-入门到进阶开发之路
HTTP: Python-HTTP 概况 HTML: Python-HTML基础 Python-form表单标签 Python-HTML CSS 练习 CSS: Python-CSS入门 Python ...
- 洛谷P5162 WD与积木 [DP,NTT]
传送门 思路 真是非常套路的一道题-- 考虑\(DP\):设\(f_n\)为\(n\)个积木能搭出的方案数,\(g_n\)为所有方案的高度之和. 容易得到转移方程: \[ \begin{align*} ...