开发者社区> davelet> 正文

.net WebApi 开发中某些注意事项

简介: 目前在做.net开发。 需要开发一套webapi. 这里记录一下某些注意点。   1. 如何开启跨域 如果webapi的用户是域外用户,则需要根据需要开放跨域。 首先安装Install-Package Microsoft.AspNet.WebApi.Cors 在WebApiConfig.cs里开启config.EnableCors(); 可以控制开放的范围,例如只开放某些controller,还是全局都开发等到。
+关注继续查看

目前在做.net开发。

需要开发一套webapi.

这里记录一下某些注意点。

 

1. 如何开启跨域

如果webapi的用户是域外用户,则需要根据需要开放跨域。

首先安装Install-Package Microsoft.AspNet.WebApi.Cors

在WebApiConfig.cs里开启config.EnableCors();

可以控制开放的范围,例如只开放某些controller,还是全局都开发等到。

参考:http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

 

2.接收json

webapi一般接收Json。这个不困难,送给某些需要的人。

$.ajax({
url: "*****/Account/Login",
type: "POST",
data: JSON.stringify({UserName:'user1',Password:'123456'}),
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (response) {
console.log(response.responseText);
},
success: function (response) {
console.log(response);
}
});

参考http://stackoverflow.com/questions/21578814/how-to-receive-json-in-a-mvc-5-action-method-as-a-paramter 

 

3. 上传文件

webapi的文件上传和mvc不一样。

具体方式自己选择,可以参考

http://weblog.west-wind.com/posts/2012/Sep/11/Passing-multiple-simple-POST-Values-to-ASPNET-Web-API

 和

http://blogs.msdn.com/b/codefx/archive/2012/02/23/more-about-rest-file-upload-download-service-with-asp-net-web-api-and-windows-phone-background-file-transfer.aspx

 提醒一点,文件在controller里面必须使用[FromUri]属性,否则报错:

No MediaTypeFormatter is available to read an object of type 'HttpPostedFileBase[]' from content with media type 'multipart/form-data'.

 

 

如果选择使用js来上传,请参考

http://www.codeproject.com/Articles/806075/File-Upload-using-jQuery-AJAX-in-ASP-NET-Web-API

 apicontroller的request没有files这个属性,需要使用HttpContext.Current.Request.Files

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
1.C#/.NET开发环境安装(Windows)
1.C#/.NET开发环境安装(Windows)
14 0
.NET MAUI 开发电子木鱼(下)
本文介绍如何使用 .NET MAUI 开发一个电子木鱼应用。以实际的小应用开发为例,通过这个开发过程,介绍了其涉及的 .NET MAUI、Blazor、前端等相关知识点。文章涉及的应用已开源在 Github,大家可前往下载体验: https://github.com/sangyuxiaowu/MuYu
3838 0
.NET MAUI 开发电子木鱼(上)
本文介绍如何使用 .NET MAUI 开发一个电子木鱼应用。以实际的小应用开发为例,通过这个开发过程,介绍了其涉及的 .NET MAUI、Blazor、前端等相关知识点。文章涉及的应用已开源在 Github,大家可前往下载体验: https://github.com/sangyuxiaowu/MuYu
68 0
在M1芯片的Mac系统上做.net core开发靠谱吗?
在M1芯片的Mac系统上做.net core开发靠谱吗?
25 0
使用.Net core3.0 开发斗图小程序后端+斗图小程序
使用.Net core3.0 开发斗图小程序后端+斗图小程序
25 0
基于.net core 开发的轻量级配置中心 - AgileConfig
AgileConfig 是一个基于 .net core 开发的轻量级配置中心,更多的是为了那些分布式、容器化部署的应用能够更加简单的读取、修改配置。秉承轻量化的,部署简单、配置简单、使用简单、学习简单,它只提取了必要的一些功能,并没有像 Apollo 那样复杂且庞大。但是它的功能也已经足够你替换...
148 0
使用.NET开发搭建OpenAI模型的中间服务端
前不久微信上大家玩ChatGPT聊天机器人玩的不亦乐乎;不过随着ChatGPT被封杀,所以用微信聊天机器人有可能导致封号的风险。那如果自己不想每次都去OpenAI官网上进行对话【PS:官网上面聊天对话有局限性,例如回复的内容比较长,AI回答是一个一个字写的,就可能导致超过一定时间以后,变成请求超时之类的异常;而通过API直接访问,可以避免这个情况发生】,想要自己搭建一个服务来本地调用,是不是也可以?
220 0
【番外篇】Rust环境搭建+基础开发入门+Rust与.NET6、C++的基础运算性能比较
突然想打算把Rust作为将来自己主要的副编程语言。当然,主语言还是C#,毕竟.NET平台这么强大,写起来就是爽。缘起:之前打算一些新的产品或者新的要开发的东西,由于没有历史包袱,就想重新选型一下,在.NET平台(C#语言)、Golang、Rust里面进行选择一个。
98 0
【.NET6+Avalonia】开发支持跨平台的仿WPF应用程序以及基于ubuntu系统的演示
随着跨平台越来越流行,.net core支持跨平台至今也有好几年的光景了。但是目前基于.net的跨平台,大多数还是在使用B/S架构的跨平台上;至于C/S架构,大部分人可能会选择QT进行开发,或者很早之前还有一款Mono可以支持.NET开发者进行开发跨平台应用。
205 0
【Kafka】基于Windows环境的Kafka有关环境(scala+zookeeper+kafka+可视化工具)搭建、以及使用.NET环境开发的案例代码与演示
基于Windows系统下的Kafka环境搭建;以及使用.NET 6环境进行开发简单的生产者与消费者的演示。
101 0
+关注
davelet
擅长java开发,喜欢数学和物理。 现供职于永辉云创。
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载
相关实验场景
更多