可以使用 ASP.NET 2.0 创建 REST Web 服务
-
09-06-2019 - |
题
是否可以使用 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 将是一个不错的选择。
有一些文章讨论了一种与另一种的比较。这 文章 可能会有帮助。