Библиотека knigago >> Компьютеры: Разработка ПО >> Программирование: прочее >> Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1218, книга: Часть 2 : Имеющий уши, да услышит.
автор: Гэрет Д Уильямс

Автор: Гэрет Уильямс Жанр: Альтернативная история "Имеющий уши, да услышит" - продолжение захватывающей альтернативной истории Гэрета Уильямса. В этом продолжении мы углубляемся в мир, где Вторая мировая война привела к совсем иным результатам. Автор мастерски выстраивает мир, в котором Германия побеждает в войне, а Соединенные Штаты разделены на несколько феодальных княжеств. История следует за группой разнородных персонажей, которые противостоят угнетению и ищут смысл в этом...

Эндрю Троелсен - Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание

Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание
Книга - Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание.  Эндрю Троелсен  - прочитать полностью в библиотеке КнигаГо
Название:
Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание
Эндрю Троелсен

Жанр:

Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, .NET Framework, C, C++, C#

Изадано в серии:

неизвестно

Издательство:

Вильямс

Год издания:

ISBN:

ISBN 5-8459-1124-9

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание"

В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа* (Запрещенная организация в РФ), конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML. Книга содержит множество примеров программного кода, призванного помочь читателю в освоении предлагаемого материала. Программный код примеров можно загрузить с Web-сайта издательства.

Читаем онлайн "Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание". [Страница - 479]

[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]

public class Service: System.Web.Services.WebService {

 [WebMethod(Description="Получение рекламных скидок")]

 public string[] GetSalesTagLines() {

  string[] currentDeals = {

   "Цены на Colt снижены на 50%",

   "Bce BMW комплектуются 8-канальным звуком",

   "Caravan бесплатно… спросите у дилера!"

  };

  return currentDeals;

 }

 [WebMethod(Description = "Сортировки списка марок")]

 public string[] SortCarMakes(string[] theCarsToSort) {

  Array.Sort(theCarsToSort);

  return theCarsToSort;

 }

}

Замечание. Страница тестирования, генерируемая с помощью DefaultWsdlHelpGenerator.aspx, не может вызывать методы, использующие в качестве параметров массивы типов.

Доступ к структурам

Протокол SOAP позволяет передачу XML.предcтавлений пользовательских типов данных (таких как классы и структуры). Web-сервисы XML используют тип XmlSerializer для преобразования типа в XML-код (см. главу 17, где имеется более подробная информация по этому поводу). Напомним, что XmlSerializer:

• не выполняет сериализацию приватных данных: для сериализации используются только открытые поля и свойства;

• требует, чтобы каждый позволяющий сериализацию класс имел конструктор, заданный по умолчанию;

• не требует использования атрибута [Serializable].

С учетом сказанного, наш следующий Web-метод будет возвращать массив структур SalesInfoDetails, определенных следующим образом.

// Пользовательский тип.

public struct SalesInfoDetails {

 public string info;

 public DateTime dateExpired;

 public string Url;

}

Другим интересным моментом в отношении XmlSerializer является то, что этот тип позволяет осуществлять многослойный контроль представления типа. По умолчанию сериализация структуры SalesInfoDetails выполняется путем преобразования каждого поля данных поля в уникальный XML-элемент.

‹SalesInfoDetails›

 ‹info›Цены на Colt снижены на 50'%!‹/info›

 ‹dateExpired›2004-12-02T00:00:00.0000000-06:00‹/dateExpired›

 ‹Url›http://www.CarsRUs.com‹/Url›

‹/SalesInfoDetails›

Чтобы изменить поведение, предлагаемое по умолчанию, вы можете в определения своих типов добавить атрибуты, определенные в пространстве имен System.Xml.Serialization (снова см. главу 17).

public struct SalesInfoDetails {

 public string info;

 [XmlAttribute]

 public DateTime dateExpired;

 public string Url;

}

В результате будет получено следующее XML-представление данных.

‹SalesInfoDetails dateExpired="2004-12-02T00:00:00"›

 ‹info›Цены на Colt снижены на 50%!‹/info›

 ‹Url›http://www.CarsRUs.com‹/Url›

‹/SalesInfoDetails›

Реализация GetSalesInfoDetails() возвращает заполненный массив этой пользовательской структуры.

[WebMethod(Description="Get details of current sales")]

public SalesInfoDetails[] GetSalesInfoDetails() {

 SalesInfoDetails[] theInfo = new SalesInfoDetails[3];

 theInfo[0].info = "Цены на Colt снижены на 50%!";

 theInfo[0].dateExpired = DateTime.Parse("12/02/04");

 theInfo[0].Url = "http://www.CarsRUs.com";

 theInfo[1].info = "Все BMW комплектуются 8-канальным звуком";

 theInfo[1].dateExpired = DateTime.Parse("8/11/03");

 theInfo[1].Url = "http://www.Bmws4U.com";

 theInfo[2].info = "Caravan бесплатно… спросите у дилера!";

 theInfo[2].dateExpired = DateTime.Parse("12/01/09");

 theInfo[2].Url = "http://www.AllPinkVans.com";

 return theInfo;

}

Доступ к типам DataSet ADO.NET

Чтобы завершить создание нашего Web-сервиса XML, вот вам еще един Web-метод, который возвращает DataSet с данными таблицы Inventory базы данных Cars, созданной при изучении ADO.NET в главе 22.

// Получение списка всех машин из таблицы Inventory.

[WebMethod(Description = "Возвращает список машин из таблицы Inventory базы данных Cars")]

pubic DataSet SetCurrentInventory() {

 // Заполнение DataSet данными таблицы Inventory.

 SqlConnection sqlConn = new SqlConnection();

 sqlConn.ConnectionString = "data source=localhost;initial catalog=Cars;uid=sa;pwd=";

 SqlDataAdapter myDA= new SqlDataAdapter("Select * from Inventory", sqlConn);

 DataSet ds = new DataSet();

 myDA.Fill(ds, "Inventorу");

 return ds;

}

Исходный код. Файлы примера CarsSalesInfoWS размещены в подкаталоге, соответствующим главе 25.

Клиент Windows Forms

Чтобы проверить работу нового Web-сервисa XML, создайте приложение Windows Forms и укажите в нем ссылку на CarsSalesInfoWS, используя диалоговое окно Add Web Reference в Visual Studio 2005 (рис. 25.7).

Книгаго: Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание. Иллюстрация № 390 Pиc. 25.7. Добавление ссылки на CarsSalesInfoWS

Теперь просто используйте генерируемый агент для вызова доступных Web-методов. Вот один из возможных вариантов реализации формы.

using CarsSalesInfoCLient.localhost;

namespace CarsSalesInfoClient {

public partial class --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.