代码之家  ›  专栏  ›  技术社区  ›  markus

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

  •  9
  • markus  · 技术社区  · 16 年前

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

    如果可以在ASP.NET 2.0中创建RESTWeb服务,您可以提供一个示例吗?

    谢谢!

    8 回复  |  直到 12 年前
        1
  •  5
  •   Nathan Lee    16 年前

    我实际上用ASP.NET 2.0创建了一个RESTWeb服务。这和创建网页没什么不同。

    当我这样做的时候,我真的没有太多的时间来研究如何使用一个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服务进行基本身份验证,则可以执行,但如果不使用Active Directory,则需要手动执行。

        2
  •  2
  •   jdiaz    16 年前

    使用ASP.NET创建RESTful Web服务绝对是可能的。如果您正在启动一个新项目,我肯定会研究使用WCF创建RESTful Web服务。3.5.NET框架允许您指定RESTful端点和常规的旧SOAP端点,并且仍然提供相同的服务。

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

    下面是一个关于使用WCF创建RESTful Web服务的好系列:

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

        3
  •  1
  •   Ubiguchi    16 年前

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

        4
  •  1
  •   Joel Coehoorn    16 年前

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

        5
  •  1
  •   FlySwat    16 年前

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

        6
  •  1
  •   Piers    15 年前

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

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

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

        7
  •  0
  •   Joel Coehoorn    16 年前

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

        8
  •  0
  •   user1186065    12 年前

    您可以使用

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

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

    有一些文章讨论了彼此之间的关系。这个 article 可能会有帮助。