可以使用ASP.NET 2.0创建REST Web服务

可以使用ASP.NET 2.0创建REST Web服务

Possible to create REST web service with ASP.NET 2.0

是否可以使用ASP.NET 2.0创建REST Web服务? 我发现的文章和博客条目似乎都表明,使用WCF的ASP.NET 3.5是创建使用ASP.NET的REST Web服务所必需的。

如果可以在ASP.NET 2.0中创建REST Web服务,请提供一个示例。

谢谢!


我实际上已经使用asp.net 2.0创建了一个REST Web服务。确实与创建网页没有什么不同。

当我这样做时,我真的没有太多时间去研究如何使用asmx文件来完成它,所以我在标准的aspx文件中完成了它。我知道这样做会增加额外的开销,但作为第一个修订版,它很好。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
protected void PageLoad(object sender, EventArgs e)
{
    using (XmlWriter xm = XmlWriter.Create(Response.OutputStream, GetXmlSettings()))
    {
        //do your stuff
        xm.Flush();
    }
}

    /// <summary>
    /// Create Xml Settings object to properly format the output of the xml doc.
    /// </summary>
    private static XmlWriterSettings GetXmlSettings()
    {
        XmlWriterSettings xmlSettings = new XmlWriterSettings();
        xmlSettings.Indent = true;
        xmlSettings.IndentChars ="";
        return xmlSettings;
    }

那应该足以让您入门,我将在以后尝试发布更多内容。

另外,如果您需要对Web服务进行基本身份验证,则可以完成此操作,但是如果您不使用活动目录,则需要手动进行。


绝对有可能使用ASP.NET创建RESTful Web服务。如果您要开始一个新项目,我肯定会考虑使用WCF创建RESTful Web服务。 3.5 .NET Framework允许您指定RESTful端点以及常规的旧SOAP端点,并且仍提供相同的服务。

您真正要做的就是启用一个调用的终结点行为。

这是有关使用WCF创建RESTful Web服务的一个很好的系列:

http://blogs.msdn.com/bags/archive/2008/08/05/rest-in-wcf-blog-series-index.aspx


还可以使用ASP.Net MVC签出。我在我的博客上写了一些文章:

http://shouldersofgiants.co.uk/博客/

寻找我使用ASP.Net MVC系列创建RESTful Web服务的方法


通过使用IHTTPHandlers实现规范,您可以轻松地进行RESTful Web服务。


好吧,当然,您始终可以自己实施规范。只是没有内置支持它的东西。如果您使用Nathan Lee的解决方案,请以http处理程序(.ashx)而不是aspx的方式进行操作。您可以将他的代码复制/粘贴到新的处理程序文件中。


例如,您当然可以在ASP.NET 2.0中创建RESTful Web服务,但是没有高级API可以为您完成所有驴工作,如.NET 3.5中的WCF所提供的那样。


您可以使用创建RESTful服务

1)WCF REST服务
2)ASP.NET Web API

如果您都关心RESTful服务,则应该使用ASP.NET Web API。但是,如果您需要同时支持SOAP Web服务和RESTful的服务,那么WCF REST将是一个不错的选择。

有一些文章讨论了一个与另一个。本文可能会有所帮助。


我只是刚刚开始使用它们,但是从我所看到的2.0来看,相当假设是SOAP。


推荐阅读