русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

DEFINE Рi 3,14.


Дата добавления: 2013-12-23; просмотров: 1002; Нарушение авторских прав


ЛИТЕРАТУРА

1.Hoang Lam, Thuan L. Thai .NET Framework Essentials – O’Reilly, 2003.

2.Jeff Prosise. Programming Microsoft .NET (core reference) – Microsoft Press, 2002.

3.Дубовцев А. В. Microsoft .NET в подлиннике. – СПб.: БХВ-Петербург, 2004.

4.Рихтер Дж. Программирование на платформе Microsoft .NET Framework. – М.: Русская редакция, 2002.


[1] Произносится как «дот-нэт».

[2] Данные требования не продиктованы исполняющей средой, но заложены в компиляторы языков для .NET.

[3] Если бы создавался только один объект, соответствующий атрибуту, то изменение данных в нем отразилось бы на всех запросах к атрибуту.

[4] В C# 2.0 поддержка перебора реализуется при помощи итераторов.

[5] Попытка работать с несуществующим элементом генерирует исключение ArgumentOutOfRangeException.

[6] Данное правило можно обойти при помощи файла конфигурации сборки.

[7] Метод Load() имеет несколько перегруженных версий.

[8] Описание типа BindingFlags смотрите в параграфе, посвященном механизму отражения.

[9] В Java имеется сходная технология – Remote Method Invocation (RMI).

[10] Понятие форматера встречалось при рассмотрении сериализации в .NET Framework.

[11] Вид активации определяется настройкой инфраструктуры Remoting, а не типом. Следовательно, объекты одного типа могут иметь различную активацию в разных приложениях.

[12] Структура System.TimeSpan служит для представления временных интервалов. Время хранится с точностью до 100 наносекунд.

[13] Диспетчер лицензий находится на сервере.

[14] Диспетчер проверяет таблицу каждые 10 секунд. Однако время опроса можно изменить. В следующем фрагменте кода периодичность опроса устанавливается равной 5 минутам:

LifetimeServices.LeaseManagerPollTime = System.TimeSpan.FromMinutes(5);

[15] Использование в качестве сервера консольного приложения – не лучшее решение. В примере таким образом мы поступаем исключительно для простоты.



[16] Класс System.Exception реализует интерфейс ISerializable. Если создается класс для пользовательской исключительной ситуации, то этот класс должен быть помечен атрибутом [Serializable], а также включать конструктор следующего вида:

protected YourApplicationException(SerializationInfo info,

StreamingContext ctx):base(info,ctx) {...}

Если класс для исключительной ситуации добавляет к базовому классу ApplicationException какие-либо поля, требуется программно записать эти поля в поток сериализации. Для этого переписывается метод GetObjectData() и поля добавляются в объект SerializationInfo как показано в следующем примере (обратите внимание на пустые перегруженные конструкторы):

[Serializable]

public class ExampleEx: ApplicationException {

public ExampleEx(): base() { }

public ExampleEx(string message): base(message) { }

public ExampleEx(string message,Exception inner):base(message,inner){}

protected ExampleEx(SerializationInfo info, StreamingContext context):

base(info, context) {

m_strMachineName = info.GetString("m_strMachineName");

}

public override void GetObjectData(SerializationInfo info,

StreamingContext context) {

info.AddValue("m_strMachineName", m_strMachineName, typeof(String));

base.GetObjectData(info,context);

}

private string m_strMachineName = Environment.MachineName;

public string MachineName {

get { return m_strMachineName; }

set { m_strMachineName = value; }

}

}

Записанные поля доступны в конструкторе исключительной ситуации (параметр info). Методы класса SerializationInfo, такие как GetValue() или, например, GetString() позволяют прочесть их.

[17] Инфраструктура Remoting создает на сервера для каждого типа с клиентской активацией SAO-объект, публикуемый по адресу http://<hostname>:<port>/<AppName>/RemoteActivationService.rem. Этот SAO-объект принимает запросы клиентов, создает CAO-объекты на сервере и передает ссылки на созданные объекты клиентам.

[18] Настройка на стороне сервера не является обязательной, так как HTTP-канал на сервере автоматически использует два форматера и выбирает подходящий в зависимости от настроек клиента.

[19] Если клиент использует объекты с клиентской активации более чем с одного сервера, требуется указать в конфигурационном файле несколько секций <client>.

[20] Возможно программное подключение провайдеров, однако этот способ в лекциях не рассматривается.

[21] Что обрабатывается – сообщение или поток – зависит от места канального приемника в цепочке: до форматера или после него.

[22] Имена приведенных классов не точны. Точное имя специфично для поставщика. Так, поставщик данных для SQL Server содержит классы SqlConnection, SqlCommand, SqlDataReader, SqlDataAdapter.

[23] Указаны типы данных, применяемые в Microsoft SQL Server 2000.

[24] Следует учитывать, что пул существует в рамках одного домена. Разные домены приложения имеют разные пулы.

[25] Более точно, вначале производится поиск соответствия с учетом регистра, если соответствие не найдено – повторный поиск без учета регистра.

[26] С помощью метода ридера GetName() можно узнать имя конкретного столбца, указав его номер. Метод GetDataTypeName() принимает целое число, соответствующее порядковому номеру столбца, и возвращает в строковом представлении тип данных этого столбца.

[27] Это имеет смысл в том случае, если выполняется команда, которая комбинирует несколько SQL-операторов. Например, команда с таким текстом:

SELECT * FROM Disks;

DELETE FROM Disks WHERE id = '1'

[28] Для поставщика MS SQL Server таблица с описанием содержит следующие столбцы: ColumnName, ColumnOrdinal, ColumnSize, NumericPrecision, NumericScale, IsUnique, IsKey, BaseServerName, BaseCatalogName, BaseColumnName, BaseSchemaName, BaseTableName, DataType, AllowDBNull, ProviderType, IsAliased, IsExpression, IsIdentity, IsAutoIncrement, IsRowVersion, IsHidden, IsLong, IsReadOnly. За более подробной информацией обратитесть к справке по .NET Framework.

[29] В MS SQL Server при помощи конструкции RETURN можно вернуть из хранимой процедуры только значения целого типа. Для возврата значений других типов следует использовать output-параметры.

[30] В данном параграфе нас будет интересовать только команда для выборки данных.

[31] Существует перегруженная версия метода Fill() для заполнения одной таблицы (вне набора):

DataTable dt = new DataTable();

da.Fill(dt);

[32] При занесении информации в таблицу при помощи адаптера автоматически настраиваются следующие свойства: AllowDBNull, Caption, ColumnName, DataType, Ordinal, Table, Unique.

[33] Класс System.DBNull соответствует понятию NULL в реляционных БД и имеет единственное статическое поле только для чтения Value.

[34] Для столбцов с автоприращением можно принудительно указать произвольное целочисленное значение при занесении информации в строку таблицы.

[35] Это значение получено из базы.

[36] Метод Compute() не позволяет вычислять агрегатные значения на основе нескольких столбцов.

[37] Как и в случае с использованием свойства Expression класса DataColumn, для подробного ознакомления с синтаксисом построения выражений отсылаем заинтересованных читателей к справке MSDN.

[38] Подробный состав параметров утилиты xsd.exe изучите самостоятельно.

[39] Классическим примером является типичный Интернет-магазин. Если пользователь на странице определяет некое условие фильтрации, то браузер должен отобразить список товаров, имеющихся в данный момент в магазине и удовлетворяющих фильтру. Естественно, подобный процесс подразумевает динамическую генерацию страницы с результатами на стороне сервера.

[40] Если свойство страницы IsPostBack = false, то страница отображается в первый раз.

[41] В данном контексте понятия «дочерний» и «родительский» следует понимать так: родительский элемент является контейнером для своих дочерних элементов.

[42] Не устанавливайте свойства ControlToCompare и ValueToCompare одновременно. В противном случае, преймущество имеет свойство ControlToCompare.

[43] Для того, чтобы установить или извлечь несколько выбранных элементов, используется булево свойство Selected отдельного объекта ListItem.

[44] Элементы управления Repeater, DataList, DataGrid будут рассмотрены в отдельном параграфе.

[45] Данный сценарий находится в главном каталоге .NET.

[46] Методы аутентификации ASP.NET применяются для файлов, являющихся частью Web-приложения. HTML-страницы (*.htm или *.html) не включаются в число этих файлов автоматически. Такие страницы обрабатываются IIS, а не ASP.NET. Чтобы зарегистрировать HTML-страницы для обработки рабочим процессом ASP.NET, требуется соответствующим образом настроить IIS.



<== предыдущая лекция | следующая лекция ==>
No Name | INDEF – определение символических констант и макросов может быть аннулирована при помощи этой директивы #INDEF идентификатор.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.