将Web Service添加到现有ASP .NET MVC 3站点

时间:2014-07-14 06:18:04

标签: asp.net-mvc-3 wcf xamarin .net-4.5 asp.net-web-api

方案

  • 使用Entity Framework和SQL Server后端的现有ASP .NET MVC 3站点
  • 添加使用Xamarin编写的iOS和Android本机客户端应用程序
  • 我的工作是创建一个新的客户端应用程序将用于与后端进行交互的PCL(这几乎就是CRUD操作)。

我有什么选择?

我读过:Xamarin的Web Services介绍。看来我的选择是:

  • 不添加任何新服务,只需使用或添加控制器用于ASP站点的特定请求,并使用.NET的HTTPRequest,WebClient或lib(如RestSharp)使用HTTP。
  • 添加ASP .NET Web服务,创建客户端将调用的代理。
  • 创建一个独立服务来处理请求(而不是ASP站点的主机 - IIS),例如WCF。

我倾向于前两个,因为他们不需要单独的服务,但我想知道身份验证 - 我想必须使用基本身份验证(显然是通过TLS)并手动管理会话以验证客户端?< / p>

更新我 我读过自.NET 4.0以来,WCF现在比ASP .NET Web服务更受青睐。

更新II 只需将服务添加到我的Web项目中,我就可以在IIS中与我的ASP.NET MVC站点并行托管我的WCF。仍然不确定他们是否可以共享身份验证。

更新III 我现在看到托管HTTP API的新方法是使用ASP .NET Web API - 这只是一个ASP应用程序。 :)

1 个答案:

答案 0 :(得分:1)

我建议使用Asp.NET WebApi。为什么呢?

  • 您拥有移动应用等外部客户端,特别是那些移动应用 在Microsoft堆栈之外
  • 您需要的操作主要是CRUD,它允许您创建一个很好的RESTful API
  • HTTP协议和JSON格式将为您提供最高程度的互操作性(我知道您正在使用Xamarin但是有一种风险,即framemork可能无法在某些时候提供您想要的内容,如果您需要放弃它,您将不会遇到任何有关Web服务的问题