是否可以使用 ASP.NET 2.0 创建 REST Web 服务?我发现的文章和博客条目似乎都表明需要带有 WCF 的 ASP.NET 3.5 才能使用 ASP.NET 创建 REST Web 服务。
如果可以在 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 服务,您能否提供一个示例。
谢谢!
我实际上已经用 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 服务,但是没有像 .NET 3.5 中的 WCF 那样为您完成所有工作的高级 API。
好吧,当然你总是可以自己实现规范。只是没有内置的支持它。如果您使用 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 REST 服务 2) ASP.NET Web API
如果您都关心 RESTful 服务,那么您应该使用 ASP.NET Web api。但是如果您需要同时支持 SOAP Web 服务和 RESTful 的服务,那么 WCF REST 将是一个不错的选择。
有一些文章讨论了一个与另一个。这篇文章可能会有所帮助。