Эндрю Троелсен - Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание
Название: | Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание | |
Автор: | Эндрю Троелсен | |
Жанр: | Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, .NET Framework, C, C++, C# | |
Изадано в серии: | неизвестно | |
Издательство: | Вильямс | |
Год издания: | 2007 | |
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]
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).Pиc. 25.7. Добавление ссылки на CarsSalesInfoWS
Теперь просто используйте генерируемый агент для вызова доступных Web-методов. Вот один из возможных вариантов реализации формы.
using CarsSalesInfoCLient.localhost;
…
namespace CarsSalesInfoClient {
public partial class --">Книги схожие с «Язык программирования С# 2005 и платформа .NET 2.0. 3-е издание» по жанру, серии, автору или названию:
Иван Братко - Алгоритмы искусственного интеллекта на языке Prolog. 3-е издание Жанр: Учебники и самоучители по компьютеру Год издания: 2004 |
Елена Геннадьевна Васнецова - Полная энциклопедия домашнего хозяйства Жанр: Энциклопедии Год издания: 2012 |
Олег Пауллер - Псы войны. Дневники Шеннона Жанр: Приключения Год издания: 2018 |