Возможно создание веб-службы REST с помощью ASP.NET 2.0.
-
09-06-2019 - |
Вопрос
Можно ли создать веб-службу REST с помощью ASP.NET 2.0?Все статьи и записи в блогах, которые я нахожу, указывают на то, что ASP.NET 3.5 с WCF требуется для создания веб-служб REST с ASP.NET.
Если возможно создать веб-службы REST в ASP.NET 2.0, можете ли вы привести пример.
Спасибо!
Решение
Я действительно создал веб-службу REST с asp.net 2.0.На самом деле это ничем не отличается от создания веб-страницы.
Когда я это делал, у меня действительно не было много времени на изучение того, как это сделать с файлом 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;
}
Этого должно быть достаточно, чтобы вы начали, я постараюсь опубликовать больше позже.
Кроме того, если вам нужна базовая аутентификация для вашего веб-сервиса, это можно сделать, но это нужно сделать вручную, если вы не используете активный каталог.
Другие советы
Определенно возможно создавать веб-сервисы RESTful с использованием ASP.NET.Если вы начинаете новый проект, я бы обязательно рассмотрел возможность создания веб-сервисов RESTful с использованием WCF.Платформа .NET Framework 3.5 позволяет вам указать конечную точку RESTful вместе с обычной старой конечной точкой SOAP и при этом предоставлять ту же услугу.
Все, что вам действительно нужно сделать, это включить поведение конечной точки, которое вызывает <webHttp />
Вот хорошая серия статей о создании веб-сервисов RESTful с использованием WCF:
http://blogs.msdn.com/bags/archive/2008/08/05/rest-in-wcf-blog-series-index.aspx
Вы, безусловно, можете создавать веб-службы RESTful в ASP.NET 2.0, например пример, но не существует высокоуровневых API-интерфейсов, которые могли бы выполнить всю основную работу за вас, как это предусмотрено WCF в .NET 3.5.
Ну, конечно, вы всегда можете реализовать эту спецификацию самостоятельно.Просто нет ничего встроенного для его поддержки.Если вы используете решение Натана Ли, делайте это как обработчик http (.ashx), а не как aspx.Вы можете просто скопировать/вставить его код в новый файл-обработчик.
Вы можете легко создавать веб-сервисы RESTful, реализовав спецификацию с помощью IHTTPHandlers.
Также проверьте использование ASP.Net MVC.Я написал несколько статей на эту тему в своем блоге:
http://shouldersofgiants.co.uk/Блог/
Посмотрите мою серию статей «Создание веб-службы RESTful с использованием ASP.Net MVC».
Я только начинаю их использовать, но судя по тому, что я видел, версия 2.0 предполагает использование SOAP.
Вы можете создать службу RESTful, используя
1) Служба REST WCF 2) Веб-API ASP.NET
Если вас всех волнует сервис RESTful, вам следует использовать веб-API ASP.NET.Но если вам нужен сервис, поддерживающий как веб-сервис SOAP, так и RESTful, тогда WCF REST будет хорошим выбором.
Есть несколько статей, в которых обсуждаются одни и другие.Этот статья может быть полезно.