Рассылка закрыта
При закрытии подписчики были переданы в рассылку "BloggLand и Я | Блоггландия" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
В шестом выпуске рассылки ‘.Net Собеседник’ вы можете познакомиться с обзором новых компонент и продуктов, разработанных с использованием платформы, прочесть перевод статьи ‘Предварительный обзор Whidbey’ и рассказ ещё об одном способе передачи значений переменных между страницами в веб-приложении (да и не только) – ‘Защита строк запросов: предупреждаем искажение данных, передающихся между страницами приложения’. Список вопросов, оставшихся без ответа на форумах .Net сайта http://www.sql.ru/ традиционно завершает номер.
Информационный Канал Subscribe.Ru |
.Net Собеседник #6
Содержание- От автора
- Обзор новостей
- Предварительный обзор Whidbey
- Время кода - Защита строк запросов: предупреждаем искажение данных, передающихся между страницами приложения.
- Форумы .Net на www.sql.ru
От автора
Здравствуйте, коллеги!
На этом всё, желаю интересного чтения.
{К содержанию}
Обзор новостей
-
Вышел PostgreSQLDirect .NET
Data Provider
- PostgreSQLDirect .NET - это поставщик данных для прямого доступа к БД PostgreSQL для приложения, написанного на платформе Microsoft .NET Framework. Разработан на основе технологии ActiveX Data Objects для .NET Framework (или ADO.NET). Поставщик данных PostgreSQLDirect .NET используется таким же образом, как и поставщик данных для SQL Server .NET или OLE DB .NET.
PostgreSQLDirect .NET использует родной событийно-основанный протокол для взаимодействия с сервером PostgreSQL. Использование этого поставщика позволяет создавать небольшие и быстрые приложения, использующие PostgreSQL.
- PostgreSQLDirect .NET - это поставщик данных для прямого доступа к БД PostgreSQL для приложения, написанного на платформе Microsoft .NET Framework. Разработан на основе технологии ActiveX Data Objects для .NET Framework (или ADO.NET). Поставщик данных PostgreSQLDirect .NET используется таким же образом, как и поставщик данных для SQL Server .NET или OLE DB .NET.
-
Генератор кода
MyGeneration
- MyGeneration - это инструмент разработчика, генерирующий код на основе шаблонов, комбинируя использование широко известного движка сценариев с мощным API мета-данных БД. На рынке существует множество других генераторов кода, однако MyGeneration лучше, потому что:
- Он на 100% бесплатен.
- Позволяет создавать псевдонимы сущностей (таблиц, отношений, полей…)
- Поддержка множества СУБД - Microsoft Sql Server 2000, Oracle, IBM DB2, MySql, and Microsoft Access.
- Поддерживает интерактивный ввод шаблонов
-
Имеет мощный редактор шаблонов
- MyGeneration - это инструмент разработчика, генерирующий код на основе шаблонов, комбинируя использование широко известного движка сценариев с мощным API мета-данных БД. На рынке существует множество других генераторов кода, однако MyGeneration лучше, потому что:
-
Active Up выпустила ActiveCalendar V2.0
- Компания Active Up выпустила Active Calendar V2.0. Active Calendar - это серверный компонент для приложений ASP.NET, позволяющий пользователям быстро выбирать дату и/или время, используя профессионально выглядящий календарь с системой событий на стороне клиента. Для работы компонента не используется ни отправка страницы на сервер, ни внешний файл скриптов.
- Компания Active Up выпустила Active Calendar V2.0. Active Calendar - это серверный компонент для приложений ASP.NET, позволяющий пользователям быстро выбирать дату и/или время, используя профессионально выглядящий календарь с системой событий на стороне клиента. Для работы компонента не используется ни отправка страницы на сервер, ни внешний файл скриптов.
-
Статья: Практическое использование особенностей .NET CLR,
встроенного в SQL Server Yukon
- Когда я впервые услышал, что SQL Server "Yukon" будет иметь встроенный .NET Common Language Runtime (CLR), я хотел найти такую проблему, для решения которой было бы полезно задействовать эту новую возможность. В этом наставлении вы увидите, как вы можете использовать Yukon совместно с сборкой на .NET, сгенерированной Visual Studio .NET "Whidbey".
- Когда я впервые услышал, что SQL Server "Yukon" будет иметь встроенный .NET Common Language Runtime (CLR), я хотел найти такую проблему, для решения которой было бы полезно задействовать эту новую возможность. В этом наставлении вы увидите, как вы можете использовать Yukon совместно с сборкой на .NET, сгенерированной Visual Studio .NET "Whidbey".
-
Выпущен PDF4NET 2.4
- Компания O2 Solutions выпустила PDF4NET 2.4, .NET библиотеку для создания и редактирования на лету файлов pdf в любом приложении - WinForms/WebForms/мобильном приложении. Версия 2.4 поддерживает объединение и разбиение файлов pdf, обеспечение правил безопасности для существующих файлов pdf, импортирование внешних страниц в новые документы и наложение страниц. Библиотека PDF4NET лицензируется только для разработчика и может свободно распространяться. Для скачивания доступна пробная версия.
- Компания O2 Solutions выпустила PDF4NET 2.4, .NET библиотеку для создания и редактирования на лету файлов pdf в любом приложении - WinForms/WebForms/мобильном приложении. Версия 2.4 поддерживает объединение и разбиение файлов pdf, обеспечение правил безопасности для существующих файлов pdf, импортирование внешних страниц в новые документы и наложение страниц. Библиотека PDF4NET лицензируется только для разработчика и может свободно распространяться. Для скачивания доступна пробная версия.
-
В SoftArtisans FileUp v5
добавлена поддержка докачки
- Компания SoftArtisans выпустила новую версию набора FileUp, в которую была добавлена возможность докачки файлов. В пятой версии также преодолено встроенное ограничение по размеру файла для ASP.NET и IIS 6, что также позволяет осуществлять неограниченное количество загрузок. Корпоративная редакция FileUp предлагает бесподобную безопасность обмена файлами – эти файлы не хранятся на уязвимых веб-серверах, а перенаправляются прямо в безопасное файлохранилище.
- Компания SoftArtisans выпустила новую версию набора FileUp, в которую была добавлена возможность докачки файлов. В пятой версии также преодолено встроенное ограничение по размеру файла для ASP.NET и IIS 6, что также позволяет осуществлять неограниченное количество загрузок. Корпоративная редакция FileUp предлагает бесподобную безопасность обмена файлами – эти файлы не хранятся на уязвимых веб-серверах, а перенаправляются прямо в безопасное файлохранилище.
-
Вышел RapTier 1.4
- Вышел RapTier 1.4, генератор ASP.NET, C#, VB.NET и SQL кода. Новые возможности: создание интерфейса пользователя ASP.NET; расширенная модель БД (индексы, значения по умолчанию, системные объекты, описания и т.д.); поддержка MS SQL, Oracle, и MySql; улучшенная поддержка FoxPro, Sybase ASE, и DB2; поддержка @@IDENTITY для MS Access и MySql; создание обёрток для существующих хранимых процедур; генератор документации по БД. Существует редакция для свободного скачивания.
- Вышел RapTier 1.4, генератор ASP.NET, C#, VB.NET и SQL кода. Новые возможности: создание интерфейса пользователя ASP.NET; расширенная модель БД (индексы, значения по умолчанию, системные объекты, описания и т.д.); поддержка MS SQL, Oracle, и MySql; улучшенная поддержка FoxPro, Sybase ASE, и DB2; поддержка @@IDENTITY для MS Access и MySql; создание обёрток для существующих хранимых процедур; генератор документации по БД. Существует редакция для свободного скачивания.
-
Aspose.Chart 1.8 - поддержка Macromedia Flash
- Aspose.Chart – это .NET компонент, позволяющий создать 21 тип бизнес- и финансовых графиков и диаграмм. Новый выпуск имеет такие особенности, как поддержка Chart.SaveToSwf Api для создания Flash-диаграммы и свойство DataPoint.URL для реализации поддержки переход по некому URL при щелчке по некоторым участкам диаграммы.
- Aspose.Chart – это .NET компонент, позволяющий создать 21 тип бизнес- и финансовых графиков и диаграмм. Новый выпуск имеет такие особенности, как поддержка Chart.SaveToSwf Api для создания Flash-диаграммы и свойство DataPoint.URL для реализации поддержки переход по некому URL при щелчке по некоторым участкам диаграммы.
-
Вышел Aspose.Excel 1.8
- Компонент Aspose.Excel – .NET компонент создания отчётов в формате Excel, позволяющий читать и писать файлы Excel без использования Microsoft Excel. В новой редакции отметим улучшенную поддержку диаграмм, группировку столбцов/строк, поддержку API защиты листа, настройку страницы, поддержку использования нескольких шрифтов в одной ячейке и функции IF в формулах.
- Компонент Aspose.Excel – .NET компонент создания отчётов в формате Excel, позволяющий читать и писать файлы Excel без использования Microsoft Excel. В новой редакции отметим улучшенную поддержку диаграмм, группировку столбцов/строк, поддержку API защиты листа, настройку страницы, поддержку использования нескольких шрифтов в одной ячейке и функции IF в формулах.
-
Aspose.License
1.3 – теперь бесплатен
- Aspose.License - .NET компонент, имеющий функциональность лицензирования и помогающий вам защищать ваши приложения от пиратского использования. Теперь – совершенно бесплатен.
- Aspose.License - .NET компонент, имеющий функциональность лицензирования и помогающий вам защищать ваши приложения от пиратского использования. Теперь – совершенно бесплатен.
-
Aspose.Obfuscator
1.6 – теперь бесплатен
- Aspose.Obfuscator - .NET приложение, позволяющее защищать ваш исходный код от декомпиляции. Теперь совершенно бесплатен.
- Aspose.Obfuscator - .NET приложение, позволяющее защищать ваш исходный код от декомпиляции. Теперь совершенно бесплатен.
-
Вышел Aspose.Word 1.1
- Aspose.Word - .NET компонент, позволяющий писать и читать документы Word без использования Microsoft Word. Новый выпуск поддерживает таблицы и их форматирование, маркированные и нумерованные списки и их форматирование и многое другое.
Предварительный обзор Whidbey
Предварительный обзор Whidbey
ЯЗЫК: C#
Адрес оригинальной статьи:
http://msdn.microsoft.com/library/en-us/dv_vstechart/html/whidbey_csharp_preview.asp
Компания: Microsoft
ПЕРЕВОД: Чужа В.Ф. ака hDrummer
Шаблоны (Generics)
public class Stack<ItemType>
|
Stack<int> stack = new
Stack<int>();
|
Stack<Customer> stack = new
Stack<Customer>();
|
Stack<Customer> stack = new
Stack<Customer>();
|
Фрагментированные типы
// файл Form1Designer.cs
|
Анонимные методы
button1.Click += delegate {
MessageBox.Show("Click"); };
|
button1.Click += delegate(object sender,
EventArgs e) { MessageBox.Show(sender.ToString()); };
|
class List<T>: IEnumerable<T>
|
В вышеприведенном примере вы наверняка заметили ключевое слово yield. yield может быть использовано только в тех методах, которые возвращают IEnumerator, IEnumerable или их шаблоны-эквиваленты. Итераторы также могут быть именованными и передаваться как параметры, однако, в большинстве случаев, именованные итераторы возвращают IEnumerable вместо IEnumerator. Например:
class List<T> {
} }
|
Квалификатор глобального пространства имён
Создатели генераторов кода, таких как Visual Studio, столкнулись с проблемой смешивания кода, введенного программистом и сгенерированным автоматически. В частности, мы поощряем использование полной квалификации типов в коде, сгенерированном автоматически. Однако и с этим подходом есть одна проблема – полная квалификация типа делает невозможным поиск типов, начиная с корневого пространства имён. Квалификатор глобального пространства имён решает эту проблему, представляя нам новый оператор "::", который может быть использован как префикс пространства имён или типа. Этот оператор позволяет разработчикам явно указывать корневое пространство имён в коде, так как показано ниже.
namespace Acme
|
Статические классы
public sealed class Environment
|
public static sealed class Environment
|
Преимущество создания такого класса перед подходом, показанным выше в том, что компилятор теперь может выдать сообщение об ошибке, если будет попытка объявления в таком классе нестатических методов.
Улучшения компилятора
Внутреннее управление предупреждениями
#pragma warning disable 135
|
Опции командной строки
-
/warnaserror: В Visual Studio .NET 2003 эта опция позволяет
считать все предупреждения компилятора как ошибки. В Whidbey эта опция
несколько расширена, позволяя разработчикам заставлять компилятор считать
некоторые конкретные предупреждения как ошибки, а другие - нет. Пример,
приведенный ниже, показывает можно трактовать все предупреждения как ошибки,
исключая предупреждение 618:
csc /warnaserror /warnaserror-:618 ...
И наоборот, можно заставить только одно предупреждение считаться ошибкой:
csc /warnaserror:1595 ...
-
/errorreport:<string>: Эта опция контролирует отчёт
программы Dr. Watson для компилятора. Более подробную информацию о Dr. Watson
можно получить здесь -
http://www.microsoft.com/technet/prodtechnol/winxppro/proddocs/drwatson_setup.asp
Возможные параметры перечислены ниже:- /errorreport:prompt: показывается диалоговое окно с информацией об ошибке.
- /errorreport:send: В случае возникновения внутренней ошибки, компилятор не должен выдавать пользователю модальное диалоговое окно. Однако, он по-прежнему может компилировать и отсылать сообщения об ошибках. Текст, который должен был быть выведен в диалоговом окне, выводится в командной строке.
-
/errorreport:none: Эта настройка указывает компилятору не отсылать никакой
информации об ошибке в Microsoft. Это поведение характерно для Visual Studio
2002 и Visual Studio 2003 и является опцией по умолчанию.
-
/langversion:<string>: Цель существования этой настройки
– в полном соблюдении стандарта ECMA/ISO. Если эта настройка установлена в
ISO-1, компилятор сообщит обо всех особенностях Whidbey, не являющихся частью
стандарта.
- /keycontainer, /keyfile, /delaysign: Эти опции компилятора будут использоваться для замены одноимённых атрибутов для большей гибкости в задании аргументов командной строки.
Рефакторинг
- Экстракция метода
- Переименование
- Выделение интерфейса
- Инкапсулирование поля
- Изменение сигнатуры метода
- Замена Arraylist
- <Project>
|
Поиск по умолчанию ищет в скрытом тексте
Время кода
Защита строк запросов: предупреждаем искажение данных, передающихся между страницами приложения.
ЯЗЫК: C#
ВЕРСИИ ASP.NET: 1.0 | 1.1
АВТОР: Tim Shakarian
http://www.dotnetjunkies.com/
ПЕРЕВОД: Чужа В.Ф ака hDrummer
Безопасная строка запроса не должна отображать значения переменных, как простой
текст, не должна она также давать пользователю возможность изменения значений
переменной. Когда вы строите строку запроса, зачастую вы просто добавляете к
ней пару имя переменной/значение переменной:
http://localhost/sample.aspx?myKey=myValue&myKey2=myValue2
Безопасная строка работает немного по-другому, вот как она может выглядеть
http://localhost/sample.aspx?x=a89rtgeitrgt4igjbht389tggitdgoiy45yh45
Значения теперь скрыты от глаз пользователя и любая попытка редактирования
только повредит данные и их невозможно будет использовать. Как показано выше,
вместо того, чтобы передавать пару имя/значение как параметры в строке запроса,
мы передаём только одно значение параметра х, которое является зашифрованной
строкой, содержащей те же данные.
Все правила, которые мы обычно применяем к обычным строкам запроса, также
применимы к безопасным строкам запросов. Например, можно закодировать
надлежащим образом каждый параметр и значение (см.: System.Web.HttpUtility.UrlEncode()
). Также необходимо помнить об ограничении ИЕ в 2КБ на строку параметра (Internet
Explorer's 2 KB limit). Помните также, что шифрование увеличит размер
вашей строки.
// создадим объект
|
string url = "DestPage.aspx?x=" +
qs.ToString();
|
Ну а теперь, после того, как мы создали URL, необходимо получить значения переменных в принимающей странице. Поскольку значения зашифрованы, мы больше не сможем использовать объект Request для получения значений. К счастью, процесс получения значений в нашем случае практически идентичен классическому:
// просто передадим зашифрованную строку в
конструктор
|
Всё, что я сделал – передал зашифрованную строку в экземпляр класса SecureQueryString, и получил доступ к переданным значениям, так как будто я использовал объект Request.
Предотвращение искажения строки запроса неотразимо само по себе, но
есть и ещё одна прекрасная возможность – создать URL, действительный до
какого-то момента времени. Эта возможность хороша в том случае, если вы хотите
дать ограниченный доступ к неким ресурсам, не создавая отдельную учётную запись
для этого пользователя. Например, можно отправить URL по электронной почте,
указав срок жизни этой ссылки - например в пару дней.
Чтобы реализовать временную ссылку, нужно просто установить свойство ExpireTime
объекта класса SecureQueryString. Например, построим строчку,
время жизни которой – 1 час:
// создадим объект
|
Некоторые разработчики могут не захотеть получать и обрабатывать такое исключение – в таком случае можно создать что-то вроде свойства IsExpired, которое можно проверять при расшифровке значений. Можно также просто очищать коллекцию NameValueCollection в случае, если ссылка просрочена. И напоследок
На самом деле можно изменить многое из того, что творится «за кулисами». Например, компонент, использованный для иллюстрации моей методологии, использует для шифрования алгоритм 3DES, в то время как вы, может быть, захотите реализовать другой алгоритм, такой, как AES. Мы также обсуждаем различные методы для обработки просроченных данных. Код ваш, так что делайте с ним, что угодно!
Тем из вас, кто заобтится об эффективности, придётся проводить свои собственные тестирования. Многое зависит от используемого алгоритма шифрования, в моём случае, широкое использование класса SecureQueryString практически не сказалось на эффективности кода.
Вы можете скачать пример веб-приложения и компонент SecureQueryString с исходным кодом. Если появятся вопросы – добро пожаловать на наш форум. Использование безопасных строк запросов – хорошее решение для передачи данных между страницами и приложениями. Однако, это всего лишь одно из возможных решений и вы всегда должны помнить о других существующих решениях – таких как зашифрованные cookies и управление переменными сессии.
Форумы .Net - вопросы оставшиеся без ответа
Свой
грид
ADODB >> Excel
Почему неработает??
Помогите новичку в этом деле!!!!
Закрытие фрэйма
ASP.NET Design Patterns - где можно почитать?
SQL Server - Crystal Reports - ?
Какие компоненты лутше Infragistic или DevExpress
Кто тут использует J# ? какие впечатления?
treeView список из базы данных
.NET permissions
На этом шестой выпуск .Net Собеседника закончен.
До следующего номера.
Чужа Виталий Ф. aka hDrummer,
hdrummer@sql.ru - жду ваши
предложения, вопросы и замечания.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||