Рассылка закрыта
При закрытии подписчики были переданы в рассылку "BloggLand и Я | Блоггландия" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Апрель 2005 → | ||||||
1
|
2
|
3
|
||||
---|---|---|---|---|---|---|
5
|
6
|
7
|
8
|
9
|
10
|
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
22
|
23
|
24
|
|
25
|
26
|
27
|
28
|
29
|
30
|
Статистика
0 за неделю
№38 рассылки '.Net Собеседник':
Информационный Канал Subscribe.Ru |
.Net Собеседник #38
Содержание- От автора
- Обзор новостей
- Mono переживает бурный коммерческий успех
- Время кода - Строим страницу ожидания
- Форумы .Net на www.sql.ru
От автора
Здравствуйте, коллеги!
- Интервью с Алекандром Сибилевым, автором проекта http://www.sql.ru/.
-
К.Коцарь «Что нам стоит мост построить?»
По закону жанра требуется начинать с какой-нибудь банальной фразы, например: мы живем в стремительно изменяющемся мире. Бесспорно, технологии сменяют друг друга с бешеной скоростью, предлагая немыслимые возможности и быстро устаревая, становясь «немодными» и «неперспективными». Одни ярко вспыхивают, подобно болидам в ночном небе, другие долго держатся на плаву, трансформируясь и развиваясь согласно текущим тенденциям. У разработчиков программного обеспечения голова идет кругом — то, что вчера казалось невозможным, сегодня уже обыденная реальность, а завтрашний день обещает быть еще более светлым и радостным. Мы бросаемся в объятия новейших языков и средств разработки, отбрасывая балласт прошлого, и зачастую не замечаем, что проходим мимо чего-то, пусть не всегда самого важного, но заслуживающего внимания. Почему Microsoft продолжает выпуск Visual FoxPro? Почему у «фокса» так много ярых сторонников и не менее ярых противников? Почему нужно продолжать создавать программы на VFP, если платформа .NET предоставляет более широкие возможности? Почему руководитель команды по разработке Visual FoxPro имеет должность Visual Studio Data Product Manager и пропагандирует новые возможности .NET? Почему нет ответа на вопрос «быть или не быть VFP.NET»? И почему, черт возьми, участь писать эту статью досталась мне? Если вы хотите получить ответы на эти или подобные вопросы, то вам, по всей видимости, стоит подыскать другой источник информации или перейти к следующей статье. В этой же статье я попытаюсь рассказать о взаимодействии между .NET и Visual FoxPro и изложить свою, сугубо субъективную точку зрения на совместное сосуществование двух технологий. -
В.Чужа «Использование пользовательских функций Microsoft SQL Server 2000 в
работе с DataGrid ASP.Net»
Бывают такие случаи, когда необходимо добавить в существующее приложение, использующее для вывода данных DataGrid, дополнительный столбец. И всё бы ничего, если в ходе разговора не оказывается, что этот столбец является суммой неких значений из таблицы, подчинённой данной. Как можно поступить в таком, на первый взгляд непростом, случае? На помощь приходят пользовательские функции Microsoft SQL Server’a. -
А.Маркелов «Настройка полнотекстового поиска для MS SQL Server 2000»
Полнотекстовый поиск предоставляет более мощные возможности для поиска, чем стандартные средства SQL наподобие оператора LIKE. В данной статье рассказывается, как настроить полнотекстовый поиск для MS SQL Server 2000. MS SQL Server 2000 должен быть установлен с опцией "full-text search". В версии MSDE 2000 опция "full-text search" недоступна. Необходимые операции в примере будут осуществляться с помощью команд T-SQL. Так же возможно выполнить их с помощью wizard'a или через соответствующие пункты меню. - Д.Хейс, В.Чужа «Mono переживает бурный коммерческий успех», краткая версия есть в рассылке. Полная версия больше рассылочной примерно в два раза, основные дополнения касаются информации о языке Си-Омега, основанного на C#.
Обзор новостей
-
Обновился ЖЖ
hDrummer'a
- Заходите :)
-
Microsoft опять задерживает
Visual Studio 2005 и SQL Server 2005
- Вчера Microsoft объявила о ценовой и лицензионной стратегии для Visual Studio 2005, в то время как собственно выход новой генерации программной платформы для разработчиков – в том числе сервера Microsoft SQL Server 2005 – откладывается до второй половины 2005 года. Ранее планировалось, что оба продукта появятся в середине 2005 года. Как заявляют в Microsoft, Visual Studio 2005 и SQL Server 2005 будут выпущены одновременно.
- С Visual Studio 2005 связан обширный диапазон различных редакций продукта, каждая из которых нацелена на определенный тип разработчиков. Microsoft также предлагает новый продукт Visual Studio 2005 Team System, предназначенный для управления жизненным циклом приложений и рассчитанный на подписчиков Microsoft Developer Network (MSDN) Premium. Цена нового продукта будет ниже стоимости профессиональной редакции Visual Studio 2005 Professional Edition.
- Visual Studio 2005 Professional Edition будет стоить 799 долл. (549 долл. при модернизации). Остальные продукты семейства Visual Studio 2005 включают Visual Studio 2005 Tools для Microsoft Office System (799 долл.; 549 долл. при модернизации), Visual Studio 2005 Standard Edition (299 долл.; 199 долл. при модернизации) и различные продукты Visual Studio Express, по цене 49 долл. за каждый. Среди продуктов Visual Studio Express будет Visual Basic 2005 Express, Visual C# 2005 Express, Visual C++ 2005 Express, Visual J# 2005 Express и Visual Web Dev 2005 Express. Также будет доступен SQL Server 2005 Express, но этот продукт будет бесплатным и появится после выхода SQL Server 2005.
- SQL Tools для очистики объектов БД SQL
- Apex SQL Tools выпустила новую версию Apex SQL Clean, v3.0, инструмента для очистики неиспользуемых объектов в БД SQL. ApexSQL Clean генерирует команды drop для БД SQL с целью очистики неиспользуемых объектов.
- Инструмент для БД SQL для генерации кода
- Apex SQL Tools выпустила новую версию инструмента Apex SQL Code – инструмента для автоматического генерирования кода SQL, использования VBScript или JScript для скриптования шаблонов, а также предлагает библиотеки шаблонов для C#, VS, VB, .Net, ASP SQL и т.п.
- TierDeveloper полностью интегрирован с Microsoft Visual Studio 2003
- TierDeveloper полностью интегрируется в Visual Studio .NET 2003 IDE таким образом, что разработчик может ускорить разработку N-уровневых приложений.
- ComponentArt выпустила Web.UI 2.1
- Добавлены три новых компонента: TabStrip, MultiPage и SiteMap. Кстати, на внешний вид очень приятные компоненты.
- Axosoft's OnTime выиграла Jolt Productivity Award за отслеживание дефектов
- В этом году на конференции разработчиков ПО в Санта-Клара, Калифорния, победил Axosoft's OnTime 2004 и получил Jolt Productivity Award в категории ПО, отслеживающего дефекты.
- Вышел .netCHARGE 4.3
- .netCHARGE компонент для обработки кредитных карт для ASP.NET, поддерживающий более 40+ процессоров и шлюзов.
- Версия 2 бесплатного форума, чата и календаря от Synthigence
- Новая версия популярной бесплатной системы обладает десяткаим новых особенностей: wysiwyg редактирование сообщений HTML, иерархический контроль за привилегиями и т.п.
- Вышел Easy Projects .NET 3.1
- Logic Software выпустила Easy Projects .NET v. 3.1 – ПО для управления проектами через веб.
- ComponentOne Announces Studio Enterprise Beta Program for Microsoft Visual Studio 2005
- ComponentOne объявила о запуске бета-программы Studio Enterprise для Microsoft Visual Studio 2005. Studio Enterprise для .NET Framework 2.0 начнётся с выпуском Visual Studio .NET 2005 beta 2.
- Вчера Microsoft объявила о ценовой и лицензионной стратегии для Visual Studio 2005, в то время как собственно выход новой генерации программной платформы для разработчиков – в том числе сервера Microsoft SQL Server 2005 – откладывается до второй половины 2005 года. Ранее планировалось, что оба продукта появятся в середине 2005 года. Как заявляют в Microsoft, Visual Studio 2005 и SQL Server 2005 будут выпущены одновременно.
Статья номера
Mono переживает бурный коммерческий успех
ЯЗЫК: C#
Автор статьи: Dennis
Hayes
ПЕРЕВОД: Чужа В.Ф. ака hDrummer
Вступление
Volcker Informatik AG перешла от использования Microsoft .Net на
Mono. Эта компания традиционно покупала и пользовалась продуктами Microsoft,
используя VB и C++ для построения продуктов уровня корпорации, служащих для
управления пользователями и аутентификации. Но как только город Мюнхен, один из
самых больших клиентов, решил перейти на Linux, компании понадобилась
технология, которая работала бы в кросс-платформенной среде.
Portable.Net, выпуск 0.6.12
Portable.NET вышел в виде версии 0.6.12. Большинство улучшений сделано в SWF,
такие как TrackBar и ListBox. Начата работа над NotifyIcon, RichTextBox и
PrintDialog.
Напоследок
Подробнее смотрите по адресу http://research.microsoft.com/comega/doc/comega_startpage.htm .
Недавно я упоминал о книге «Dissecting a C# Application: Inside SharpDevelop», как о своей любимой. Компания Apress выпустила её бесплатно в электронном виде – скачивайте по адресу www.apress.com/free/.
Apress также выпустит ещё несколько книг в этом году в таком же виде и бесплатно.
Время кода
Строим страницу ожидания
ЯЗЫК: C#
Автор статьи:
brian dunnington
ПЕРЕВОД: Чужа В.Ф. ака hDrummer
КОД К СТАТЬЕ:
wait_page_src.zip
Вступление
Любой из нас, писавший веб-приложение, выполняющее длинные по времени операции, писал страницу ожидания. Поскольку пользователи веб-приложений обычно нетерпеливы, такая страница должна содержать некую визуальную информацию о том, что происходит в действительности и убеждающую пользователя в том, что если он откинется на спинку стула, расслабится и подождёт, то следующая страница непременно появится на экране.
Проблема
Для выполнения длительного процесса И для отображения полезной информации необходимо выполнять две вещи сразу. К сожалению, большинство техник веб-программирования не очень подходят к такого рода задачам. Добавьте к этому тот факт, что Internet – клиент-серверная архитектура, в которой сервер только выдаёт ответ в качестве отклика на запрос. Это значит, что сервер не может выдать браузеру информацию о ходе процесса, если клиент уже получил страницу ожидания. В классическом ASP и других языках программирования есть несколько способов выйти из такой ситуации. Один из часто используемых способов – перенаправить пользователя на страницу ожидания, а потом, сразу же, на страницу, выполняющую длительную операцию. Такой подход использует ту особенность веб-браузера, которая не позволяет отображать следующую страницу до тех пор, пока она не закончила обрабатываться – поэтому мы видим предыдущую. Этот подход имеет два минуса: если ваша страница содержит анимированный gif (как обычно делают), то он перестаёт воспроизводиться, как только запрашивается следующая страница. И второй минус: браузер создаёт впечатление, как будто что-то происходит, (часики вращаются), но визуально ничего не происходит. Нетерпеливый пользователь может нажать 'Стоп' или 'Назад' и попробовать запустить процесс ещё раз, создав много никому ненужных проблем. Ещё один подход – постоянно обновлять страницу ожидания, проверяя, закончился ли процесс. Такой подход вынуждает устанавливать флаг в БД, указывающий на состояние процесса.
Решение
С появлением ASP.NET, веб-программисты могут воспользоваться преимуществами асинхронной программной модели. И теперь проблема выполнения 2-х дел сразу решена. А что же с клиент-серверной архитектурой, которая не позволяет серверу вызывать клиента? Ответом будет удобный инструмент XmlHttpRequest. (Вы видели наверное этот маленький бриллиант, сверкнувший в Google Suggest и наделавший много шуму.) Путём комбинирования асинхронных методов и фоновых XmlHttpRequest’ов, ваша страница будет выглядеть куда умнее и изящнее.
Использование кода
Есть четыре концепции, которые реализованы в этом решении:
∙ Input page – ответственная за запуск асинхронного события
∙ Wait page – проверяет статус процесса и развлекает пользователя
∙ CheckStatus page – показывает закончился процесс или нет
∙ Confirmation page – отображается по окончании процесса
Input page
С этой страницы пользователь запускает долгоиграющий процесс. В закулисном коде страницы следующий код запускает процесс, используя асинхронную модель .NET. Также отметьте, что итоговый IAsyncResult сохраняется в Session, так что мы к нему можем позже обратиться.
string confirmationNumber; private void Button_Click() { IAsyncResult ar = DoSomethingAsync("abc"); Session["result"] = ar; Response.Redirect("wait.aspx"); } private IAsyncResult DoSomethingAsync(string someParameter) { DoSomethingDelegate doSomethingDelegate = new DoSomethingDelegate(DoSomething); IAsyncResult ar = doSomethingDelegate.BeginInvoke(someParameter, ref confirmationNumber, new AsyncCallback(MyCallback), null); return ar; } private delegate bool DoSomethingDelegate(string someParameter, ref string confirmationNumber); private void MyCallback(IAsyncResult ar) { AsyncResult aResult = (AsyncResult) ar; DoSomethingDelegate doSomethingDelegate = (DoSomethingDelegate) aResult.AsyncDelegate; doSomethingDelegate.EndInvoke(ref confirmationNumber, ar); } private void DoSomething(string someParameter, ref string confirmationNumber) { Thread.Sleep(10000); //simulate a long process by waiting for ten seconds confirmationNumber = "DONE!"; Session["confirmationNumber"] = confirmationNumber; } |
Wait Page
Эта страница не нуждается в закулисном коде, поскольку просто использует JavaScript и XmlHttpRequest для опроса сервера на предмет окончания долгоиграющего процесса. Фактически, страница обращается на клиенте к странице 'CheckStatus.aspx' и действует соответственно отклику. Всё это происходит без обновления страницы. Также важно заметить, что эта технология является кросс-браузерной, работает в IE5+, Mozilla, Netscape 6+, Firefox 1+ и др. Также скажем о том, что Opera на данный момент не поддерживает объект XmlHttpRequest, но толковый программер может эмулировать его работы с помощью тэга IFRAME, как это делает Google Suggest. Оставляю вам это в качестве упражнения =).
<script language="javascript"> <!-- var pollInterval = 1000; var nextPageUrl = "confirmation.aspx"; var checkStatusUrl = "checkStatus.aspx"; var req; // устанавливаем частоту проверки window.setInterval("checkStatus()", pollInterval); function checkStatus() { createRequester(); if(req != null) { req.onreadystatechange = process; req.open("GET", checkStatusUrl, true); req.send(null); } } function process() { if(req.readyState == 4) { // только если "OK" if (req.status == 200) { if(req.responseText == "1") { // "1" значит сделано // поэтому перенаправляем document.location.replace(nextPageUrl); } // NOTE: любой другой статус кроме 200 и ответ кроме // "1" не нуждаются в обработке } } } /* Используем несколько способов создания объекта XmlHttpRequest, в зависимости от браузера. Также заметьте, что Opera не поддерживает XmlHttpRequest. */ function createRequester() { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(oc) { req = null; } } if(!req && typeof XMLHttpRequest != "undefined") { req = new XMLHttpRequest(); } return req; } //--> </script> |
Также обратите внимание на использование document.location.replace(); при выполнении перенаправления к странице подтверждения. Этот способ позволяет эффективно убрать страницу из истории браузера, что не даст возможности пользователю нажать кнопку 'Назад' и запустить процесс вновь.
CheckStatus page
Это очень простая страница. Она проверяет IAsyncResult на завершение и возвращает бит (0 или 1), индицирующий этот статус.
private void Page_Load(object sender, System.EventArgs e) { AsyncResult ar = (AsyncResult) Session["result"]; if(ar.IsCompleted) Response.Write("1"); else Response.Write("0"); Response.End(); } |
Confirmation Page
Как только процесс закончен, «Wait page» получит сигнал об этом от «CheckStatus page». Как только это случится, «Wait page» перенаправит «Confirmation page», которая и отобразит результаты пользователю – в таком виде, каком вы захотите.
Вот и всё.
{К содержанию}
Форумы .Net - вопросы оставшиеся без ответа
Про
Ошибка развертывания приложения!
Как
создать коллекцию DataSet
Проверить
права, доступные в данной сборке
datagrid
scrollbars в Compact Framework
Вопрос
про изменение пароля
IIS6/ASP.NET/SSL
- HTTP error: (413) Request Entity Too Large
Ошибка
с GetObject
На этом тридцать восьмой выпуск .Net Собеседника закончен.
До следующего номера.
Чужа Виталий Ф. aka hDrummer, MCAD, MCDBA, MCP
hdrummer@sql.ru - жду ваши предложения и замечания.
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.dotnetgrains |
Отписаться |
В избранное | ||