为使用Entity Framework的ASP.net网站创建公共API的推荐方法

时间:2012-06-03 06:40:54

标签: asp.net entity-framework api

我目前有一个webforms asp.net使用实体框架来完成所有CRUD操作。

我需要为我的网站创建面向公众的API。

我需要API中的以下内容:

  • 使用API​​的客户端的身份验证
  • 使用记录,以确保没有滥用等
  • 限制作为额外的额外内容,以确保一个人不会超载API。
  • 优选地,返回数据应该能够基于调用客户端使用的标志以JSON或XML返回。

我正在寻找任何指导作为创建公共API以满足这些要求的最有效方法。建议的书籍,链接,建议都是欢迎的。

2 个答案:

答案 0 :(得分:1)

在代码中执行此操作绝对可行,但它适用于所有这些功能。一种更简单的方法是使用类似3scale(http://www.3scale.net)的东西来完成所有这些开箱即用(您可以发布API密钥,对它们进行速率限制,获取API的分析+创建开发人员门户)。安装是通过您下载到系统中的代码库(库在这里:(https://support.3scale.net/libraries)或者有一个API或最后在您的应用程序前面使用Varnish作为API代理使用这个mod:https://github.com/3scale/libvmod-3scale/

对于数据返回类型,通常可以通过在API请求中使用.json,.xml来切换它,并将其作为代码中的内容类型进行处理。

答案 1 :(得分:1)

使用WebAPI:

  

ASP.NET Web API是一个可以轻松构建HTTP的框架   覆盖广泛客户的服务,包括浏览器和   移动设备。 ASP.NET Web API是一个理想的构建平台   .NET Framework上的RESTful应用程序。

http://blogs.msdn.com/b/henrikn/archive/2012/02/23/using-asp-net-web-api-with-asp-net-web-forms.aspx http://www.asp.net/web-api/overview/hosting-aspnet-web-api/using-web-api-with-aspnet-web-forms http://www.beletsky.net/2011/10/integrating-aspnet-mvc-into-legacy-web.html