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

时间:2020-03-05 18:46:45  来源:igfitidea点击:

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

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

谢谢!

解决方案

回答

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

回答

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

回答

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

回答

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

回答

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

回答

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

我们真正要做的就是启用一个调用&lt;webHttp />的终结点行为。

这是有关使用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/Blog/

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