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

时间:2008-09-02 21:15:42

标签: web-services rest

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

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

谢谢!

8 个答案:

答案 0 :(得分:5)

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

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

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服务进行基本身份验证,则可以完成,但如果您不使用活动目录,则需要手动完成。

答案 1 :(得分:2)

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

您真正需要做的就是启用一个调用<webHttp />

的端点行为

以下是使用WCF创建RESTful Web服务的好系列:

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

当然,您可以随时自行实施规范。只是没有任何内置支持它。如果您使用Nathan Lee的解决方案,请将其作为http处理程序(.ashx)而不是aspx。您可以将他的代码复制/粘贴到新的处理程序文件中。

答案 4 :(得分:1)

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

答案 5 :(得分:1)

还可以使用ASP.Net MVC查看。我在我的博客上写过一些文章:

http://shouldersofgiants.co.uk/Blog/

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

您可以使用

创建RESTful服务

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

如果你们都关心RESTful服务,那么你应该选择ASP.NET web api。但是,如果您需要支持SOAP Web服务和RESTful的服务,那么WCF REST将是一个不错的选择。

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