`
somefuture
  • 浏览: 1090189 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

    博客分类:
  • .NET
 
阅读更多

目前在做.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

0
0
分享到:
评论

相关推荐

    VB.NET 调用Windows API 使用方法

    ### VB.NET 调用 Windows ...虽然在VB.NET中直接调用Windows API并非首选方案,但在某些特定情况下,这种方式仍然是必要的。通过本文介绍的基本步骤和示例,开发者可以更好地理解和掌握如何在VB.NET中调用Windows API。

    Box.NET API-开源

    通过使用Box.NET API,开发者能够将box.net的强大云存储功能无缝集成到自己的应用程序中,无论是在桌面、移动还是Web应用中。此外,由于它是开源的,开发者还可以根据自身需求对其进行修改和扩展,以满足特定项目的...

    AspNet服务器[脱离IIS运行网站] 狼人软件

    ASP.NET是微软公司开发的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了高效、灵活且功能强大的工具。通常情况下,ASP.NET应用程序需要在Internet Information Services (IIS)这样的Web...

    vb.net中的加密方法

    #### 注意事项 - **安全性问题**:虽然MD5算法在某些场合下仍然有用,但它不再被认为是一种安全的加密方式。对于涉及敏感信息的应用程序,建议使用更强大的哈希函数(如SHA-256)或加盐哈希方法来增强安全性。 - **...

    海康威视web3.0二次开发

    开发者应记录开发过程、接口使用方法、注意事项等,方便后期维护和团队协作。 通过以上知识点的学习和实践,开发者可以熟练掌握海康威视Web3.0二次开发,创建出满足特定需求的监控系统。"demo"这个文件可能是提供的...

    .net 序列化和反序列化 Json

    .NET框架中的序列化和反...总之,理解和掌握.NET中的JSON序列化和反序列化是开发Web服务和客户端应用的关键技能,无论选择使用内置方法还是第三方库如Json.NET,都需要根据项目需求来权衡性能、功能和依赖管理等因素。

    .net C#脱离环境运行程序

    - 虽然Mono提供了广泛的.NET Framework类库支持,但并非所有.NET功能都已在Mono中实现,某些特定的Windows API或服务可能无法在非Windows系统上使用。 - 性能方面,由于AOT和JIT编译的差异,以及跨平台的实现可能...

    vs2008 asp.net 用outlook发邮件

    #### 六、注意事项 1. **权限问题**: 使用Outlook Interop需要用户的适当权限。在某些情况下,可能需要管理员权限才能运行代码。 2. **安全性考虑**: 直接调用Outlook可能会暴露敏感信息,例如收件人列表或邮件内容...

    ASP.NET-MVC-3-RTM-Release-Notes.doc

    2. **安装注意事项** 安装ASP.NET MVC 3 RTM时,需要注意软件兼容性和依赖项。确保你的开发环境支持.NET Framework 4.0,因为ASP.NET MVC 3是构建在这个框架之上。同时,可能需要更新Visual Studio版本以获取最佳...

    c#.net调用matlab进行混合编程.zip

    2. MATLAB Engine API for .NET:MATLAB提供了.NET版本的引擎API,可以在C#.NET应用中直接启动MATLAB引擎并执行MATLAB代码。这种方法适合在运行时动态调用MATLAB,但可能会增加程序的运行时间和内存占用。 五、混合...

    Asp.net汉字转拼音(全)

    在Asp.net开发中,有时候我们需要将汉字转换成拼音,以便进行各种处理,例如搜索、关键词提取等。C#作为Asp.net的主要编程语言,提供了多种实现汉字转拼音的方法。以下将详细介绍如何在Asp.net中实现汉字转拼音的全...

    IIS错误解决方案(IIS部署后404错误解决方案)

    ##### 2.8 其他注意事项 - 不要轻易赋予Everyone账户权限,以免增加安全隐患。 - 仅授予必要的权限。 - 在某些情况下,可能需要为IIS配置特定的执行权限。 #### 三、综合解决方案 1. **检查安装顺序**:确保按照...

    asp.net第三方控件

    ASP.NET是一个强大的Web应用程序开发框架,由微软公司推出,它为开发者提供了丰富的功能和便捷的工具来构建动态网站、Web应用和服务。在开发过程中,为了提高效率和扩展性,开发者经常会利用第三方控件来增强ASP.NET...

    ASP.NET获取客户机IP和MAC地址 另一版本源代码

    在IT领域,特别是Web开发中,获取客户端的IP地址和MAC地址是常见的需求之一,尤其在需要进行网络追踪、安全验证或数据统计等场景下。本文将深入解析如何使用ASP.NET来实现这一功能,主要基于给定的源代码示例。 ###...

    ASP.NET邮件设置.txt

    #### 四、注意事项 - **安全性**:在实际应用中,不应将敏感信息(如密码)硬编码到代码中,应考虑使用更安全的方式存储这些信息,如配置文件或数据库。 - **SMTP服务器配置**:不同的SMTP服务器可能有不同的配置...

    .NET Perf Truths Tips

    - **注意事项**: - 缓存一致性:确保缓存中的数据与实际数据保持一致,避免数据不一致导致的问题。 - 缓存失效策略:设置合理的缓存失效时间,确保缓存不会占用过多内存资源。 ##### 4. 优化垃圾回收机制 垃圾...

    .NET2.0环境下的Ajax选型和应用(提供Demo源码下载)

    在这个研究中,Jimmy.Ke探讨了几个关键问题,包括Ajax应用框架的选择,如何在.NET 2.0环境中应用Ajax,以及在实施过程中需要注意的事项。 首先,Ajax应用框架的选型是关键。研究提供了三个不同的框架示例:微软的...

    FCKeditor2.6.3.net使用详细和源码

    **五、使用技巧和注意事项** 1. **自定义工具栏**:根据项目需求,可以定制FCKeditor的工具栏,只显示必要的按钮。 2. **安全考虑**:由于FCKeditor允许HTML输入,需注意XSS攻击风险,确保对用户提交的内容进行...

    XML+XSLT+CSS+JQuery+WebService组建Asp.Net网优点

    ### XML+XSLT+CSS+JQuery+WebService在Asp.Net中的应用优势 #### 一、技术概览与背景介绍 在Web开发领域中,随着互联网...当然,开发者在实际应用过程中也需关注相关的挑战和注意事项,以充分发挥这些技术的优势。

Global site tag (gtag.js) - Google Analytics