Создание веб сервисов

Вашему Silverlight приложению требуется доступ к данным? Тогда веб сервисы! Сегодня я расскажу о создании Silverlight-совместимого сервиса. Все действия будем выполнять в VS 2008.

Итак, приступим. File - > ASP.NET Web Service Application -> вводим имя проекта и открываем файл кода сервиса (что-то вроде Service1.asmx.cs):

using System;
using System.Data;
using System.Linq;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Xml.Linq;

namespace WebServices {
    /// <summary>
    /// Summary description for Test
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = 
     WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    // To allow this Web Service to be called
    //from script, using ASP.NET AJAX,
    // uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Test : System.Web.Services.WebService {

        [WebMethod]
        public string HelloWorld() {
            return "Hello World";
        }
    }
}

Заменяем пространство имен в [WebService(Namespace = http://tempuri.org/)]  на свое, например так [WebService(Namespace = http://porubov.com)]. Расскоментируем строчку [System.Web.Script.Services.ScriptService]  чтобы можно было вызывать сервис из нашего SL-приложения. Запускаем и радуемся - наша служба уже работает!

Теперь можно перейти к написанию кода.

Обычное возвращение строки уже представлено в функции HelloWorld, как видите, ничего сложного. Теперь опишем метод с входными параметрами:

[WebMethod(Description="Возвращает
 форматированную строку в заданном количестве")]
        public string FormatString(string mess, int count) {
            mess += " - форматированная!";
            
            for (int i = 0; i < count; i++) {
                mess += " строка " + i.ToString() + "\n";
            }
            return mess;
        }

Тоже очень просто. Вообще обьявление службы отличается от обычного метода только строчкой [WebMethod] и ограничениями на входные и возвращаемые типы данных. Итак, вот что может принимать и возвращать веб служба:

  • Простые типы данных - строки, целые, числа с плавающей точкой, булевые значения, смешанные типы (например, тип даты-времени, байтовый и т.п.)
  • Массивы
  • Объекты - передаются все общедоступные свойства какого-либо объекта
  • Перечисления - типы в C#, определяемые ключевым словом enum
  • XmlNode - представляют собой часть Xml документа
  • DataSet, DataTable - применяются в основном для возврата данных из БД для последующей привязки к элементам отображения данных в .NET. Не подходит для использования в SL.

Безусловно, в классе веб службы вы можете написать намного более сложный код, который, к примеру, будет получать и записывать данные в удаленную базу данных; Никаких ограничений на обычные методы (не обьявленые как веб методы) нет. Так что вперед!

Posted on 19.12.2007 16:56:52 by Admin

Permalink | Комментарии (0) | Post RSSRSS comment feed |

Categories: Web Services

Tags: ,

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Похожие записи

Добавить комментарий


(Отображает Gravatar)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Предпросмотр

ноября 21. 2008 02:36