Building a C# Web API - REST

本文关键字:REST API Web Building | 更新日期: 2023-09-27 17:49:20

我即将用c#开始一个项目。我从来没有使用过c#,我希望在我犯一个愚蠢的错误并走上错误的道路之前,我能得到一些实现建议。

我想要实现的基本上是在服务器上有一个c#应用程序,可以通过Web API访问。这个应用程序将接受一些字符串变量,然后返回一个字符串。应用程序将打开并运行一些已安装的程序(不是c#程序)。

我读过WCF,但我认为乍一看这可能是多余的,因为我希望创建的API将只有一个或两个请求方法,并将返回一个字符串。

我真正想要的是关于我应该使用什么,看什么,甚至链接到用c#构建web服务的好教程,以及如何在web API到c#应用程序之间建立链接的建议。

谢谢大家的建议

Building a C# Web API - REST

跳过wcf和asmx。相反,只需通过通用处理程序(.ashx)文件实现这些内容。

您可以完全控制输入和输出的内容,而不必处理所有XML垃圾。我们这么做了一段时间,没有回头。

简而言之,如果我的端点不是web服务器,我会使用WCF。如果我必须将所有的响应以XML的形式返回,并且我确信只有。net客户端才能访问它,我会使用asmx。

通用处理程序类似于.aspx页面,但没有页面生命周期的所有开销。它给你一个context对象,它可以访问所有的http post和查询字符串变量,由你来决定返回什么。

它们很容易实现,并且没有"那个配置设置又是为了什么?"的问题。

这里有几个非常好的演练:
http://swindelles.com/2008/07/11/creating-rest-web-services-in-c-sharp/
http://www.codeproject.com/KB/aspnet/RestServicesInASPNET2.aspx

如果您认为WCF可能是多余的,您可以实现一个简单的ASP。. NET MVC应用程序,以JSON或XML形式返回数据。

http://omaralzabir.com/create_rest_api_using_asp_net_mvc_that_speaks_both_json_and_plain_xml/

update:另一个很好的选择是ServiceStack。

您可以查看普通web服务。我只是粗略地浏览了一下,但这似乎是一个不错的指南。

你真的需要看看WCF数据服务,它们很容易实现

http://msdn.microsoft.com/en-us/data/bb931106

我第一次见到他们是在2010年3月我在MSDN杂志上实现Dino Esposito的例子时http://msdn.microsoft.com/en-us/magazine/ee336022.aspx

我建议你先读一下Dino的例子

对于一个简单的Web API来说,WCF是多余的、笨拙的、面向操作的,并且是为基于SOAP的服务设计的(它支持Web HTTP,但那是后来才想到的)。

新来的是ASP。. NET MVC Web API,用于轻量级面向Web的架构。