可以使用ASP.NET 2.0创建REST Web服务
是否可以使用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终结点,并且仍提供相同的服务。
我们真正要做的就是启用一个调用<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服务的方法