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

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

谢谢!

有帮助吗?

解决方案

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

其他提示

使用 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

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

嗯,当然,您始终可以自己实现该规范。只是没有任何内置的东西来支持它。如果您使用 Nathan Lee 的解决方案,请将其作为 http 处理程序 (.ashx) 而不是 aspx。您只需将其代码复制/粘贴到新的处理程序文件中即可。

您可以通过使用 IHTTPHandlers 实现规范来轻松实现 RESTful Web 服务。

另请查看使用 ASP.Net MVC。我在我的博客上写了一些关于此的文章:

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

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

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

您可以使用创建 RESTful 服务

1)WCF休息服务2)ASP.NET Web API

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

有一些文章讨论了一种与另一种的比较。这 文章 可能会有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top