Asp.net mvc web api 在项目中的实际应用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Asp.net mvc web api 在项目中的实际应用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2060字,纯文字阅读大概需要3分钟。
内容图文
Asp.net mvc web api 在项目中的实际应用
前言:以下只是记录本人在项目中的应用,而web api在数据传输方面有多种实现方式,具体可根据实际情况而定!
1:数据传输前的加密,以下用到 微软自带的 Rijndael 类(关于Rijndael 的更多信息请参见MSDN),32位密钥加16对称算法初始化向量,代码如下:
//简单定义一个实体类:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://webapi.test.com");
//模拟传输数据:
User entity = new User()
{
Id = 1,
Age = 2,
Name = "hello"
};
string jsonStr = JsonConvert.SerializeObject(entity);
//对数据进行加密:
Rijndael r = Rijndael.Create();
//初始化16位秘钥向量:
r.IV = Encoding.UTF8.GetBytes("快乐加快乐,");
//32位秘钥向量:
string key = "070417fa0e95458684116314a2c7cf18"; //Guid.NewGuid().ToString().Replace("-", "");
r.Key = Encoding.UTF8.GetBytes(key);
byte[] es = new byte[] { };
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cStream = new CryptoStream(ms, r.CreateEncryptor(), CryptoStreamMode.Write))
{
using (StreamWriter sw = new StreamWriter(cStream))
{
sw.WriteLine(jsonStr);
}
}
es = ms.ToArray();
}
2:利用httpclient传输数据,代码如下:
//推送数据:
ByteArrayContent content = new ByteArrayContent(es);
Task.Factory.StartNew(() =>
{
//requestURL根据实际配置的路由决定:
var res = client.PostAsync("webapi/GetData", content).Result;
});
return View();
3:接收httpclient推送的数据并进行解密,代码如下:
[HttpPost]
public async Task<string> GetData()
{
byte[] buffer = await Request.Content.ReadAsByteArrayAsync();
//解密:
Rijndael dr = Rijndael.Create();
//初始化16位秘钥向量:
string key = "070417fa0e95458684116314a2c7cf18";
dr.IV = Encoding.UTF8.GetBytes("快乐加快乐,");
//32位秘钥:
dr.Key = Encoding.UTF8.GetBytes(key);
string dstr = string.Empty;
using (MemoryStream ms = new MemoryStream(buffer, 0, buffer.Length))
{
using (CryptoStream cStream = new CryptoStream(ms, dr.CreateDecryptor(), CryptoStreamMode.Read))
{
using (StreamReader sr = new StreamReader(cStream))
{
dstr = sr.ReadLine();
}
}
}
//解密成功后反序列化数据:
User model = JsonConvert.DeserializeObject<User>(dstr);
//........其它处理
return "ok";
}
原文:http://www.cnblogs.com/luo-super/p/4719574.html
内容总结
以上是互联网集市为您收集整理的Asp.net mvc web api 在项目中的实际应用全部内容,希望文章能够帮你解决Asp.net mvc web api 在项目中的实际应用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。