是否可以使用ASP.NET 2.0创建REST Web服务?我发现的文章和博客条目似乎都表明,使用ASP.NET创建REST Web服务需要使用带有WCF的ASP.NET 3.5。
如果可以在ASP.NET 2.0中创建REST Web服务,可以提供一个示例。
谢谢!
答案 0 :(得分:5)
我实际上已经使用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服务进行基本身份验证,则可以完成,但如果您不使用活动目录,则需要手动完成。
答案 1 :(得分:2)
使用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
答案 2 :(得分:1)
您当然可以在ASP.NET 2.0中为example创建RESTful Web服务,但是没有高级API可以为您完成所有驴工作,如WCF在.NET 3.5中所提供的那样。 / p>
答案 3 :(得分:1)
当然,您可以随时自行实施规范。只是没有任何内置支持它。如果您使用Nathan Lee的解决方案,请将其作为http处理程序(.ashx)而不是aspx。您可以将他的代码复制/粘贴到新的处理程序文件中。
答案 4 :(得分:1)
通过使用IHTTPHandlers实现规范,您可以轻松地执行RESTful Web服务。
答案 5 :(得分:1)
还可以使用ASP.Net MVC查看。我在我的博客上写过一些文章:
http://shouldersofgiants.co.uk/Blog/
使用ASP.Net MVC系列寻找我创建RESTful Web服务
答案 6 :(得分:0)
我只是刚开始使用它们,但从我所看到的2.0可以假设SOAP。
答案 7 :(得分:0)
您可以使用
创建RESTful服务1)WCF REST服务 2)ASP.NET Web API
如果你们都关心RESTful服务,那么你应该选择ASP.NET web api。但是,如果您需要支持SOAP Web服务和RESTful的服务,那么WCF REST将是一个不错的选择。
有些文章讨论了一个与另一个。这article可能会有所帮助。