<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://aspbg.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ASP.NET</title><link>http://aspbg.net/blogs/</link><description>Всичко за платформата, която познавате и използвате</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 (Build: 20423.869)</generator><item><title>Да не събаряме къщата с едно духване</title><link>http://aspbg.net/blogs/sql2008/archive/2010/06/09/380.aspx</link><pubDate>Wed, 09 Jun 2010 15:14:00 GMT</pubDate><guid isPermaLink="false">737d6030-114a-4c06-b358-cdec8c9eeff8:380</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;br /&gt;Сигурността в Microsoft SQL Server 2008 е подобрена спрямо 2005 и 2000 Джеймс Фостър&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Сигурността на базите данни е от критично значение за защита на бизнеса. Зависимостта на организациите от технологиите за бази данни никога не е била по-голяма, тъй като всичко днес се съхранява в тях.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Microsoft SQL Server 2008, пуснат в началото на месец август на 2008 г., се появи сравнително по-бързо след последната версия от 2005, която наследи Microsoft SQL Server 2000. Това бе наложено от търсенето на все повече производителност, функционалност и сигурност. Освен това Майкрософт е изправена пред конкуренция от три страни – традиционните технологии за управление на бази данни, платформите за уеб приложения, задействани през уеб, и системите с отворения код.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Oracle пуска почти всяка година нови версии на базата си данни, проектирани да отговорят на различните нужди – за малки и средни предприятия, корпоративни, онлайн или за правителствата. Поглъщането от Sun Microsystems на MySQL роди нов конкурент на пазара на корпоративните бази данни.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Нов момент в технологиите на базите данни са изгряващите уеб компании, които развиват собствени платформи, използвани като бази данни. На пазара на разпределени платформи вече са Salesforce.com (Application Exchange), Amazon (EC2), Google (APIs) и Indian Zoho.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Добрата новина за Майкрософт общността е, че характеристиките на сигурността в SQL Server 2008 са добре обмислени и правилно внедрени. Най-важното подобрение са детайлните възможности за сигурност на данните – криптиране, управление на ключове и разширение на сигурността на метаданните. Издаването на разрешения на база роля не е ново, но сега предлага по-голяма гъвкавост и по-строг контрол върху много повече аспекти на базата данни.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Кой си ти?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Майкрософт удари в десетката със стратегията и реализацията си на подобрена сигурност в модулите за автентикация в SQL Server 2008. Във времето на „brute force“ уеб базирани атаки Майкрософт сметна, че е назрял моментът да преработи и поднови базовите характеристики, включени в SQL Server 2000, които не бяха достатъчно засегнати във версия 2005 (вж. екрана).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Макар че все още можете да използвате вашите LDAP и Active Directory инвестиции, за да се логнете в SQL Server по сигурен начин, интеграцията с не-Windows клиенти вече поддържа пълно криптиране по канала. По подразбиране, криптирането се осъществява чрез SQL генерирани SSL сертификати, което предотвратява почти всички атаки от типа „човек по средата“. Тази функционалност е вградена в SQL Server 2008 и не е необходимо да се добавя допълнително.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Пълното криптиране също защитава предаването на потребителски имена от SQL или на каквато и да е полезна информация. Това е значително подобрение спрямо хеширанетона потребителски имена и пароли, което се предоставяше по подразбиране във версия 2005.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Подобрила се е ситуацията и с Microsoft Group Policy. Сега можете да управлявате и налагате политики за създаване на пароли, като срок за смяна, заключване и други за всички бази данни в SQL Server 2008 чрез Group Policy Objects (GPO). При SQL Server 2005 можехте да управлявате компонентите чрез операционната система Windows, докато сега имате възможността да ги управлявате и през горния слой на SQL Server.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Тези свойства ще помогнат в борбата с атаките, но кодът за отблокиране на акаунт е изненадващо прост. Преди тази интеграция повечето администратори на бази данни не установяваха правилно политиките за паролите за известяване или дори блокиране на акаунт, въпреки че от години това е обичайна практика за системните администратори. Интеграцията на GPO Password Policy реши този проблем.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Автентикацията на уеб услуги или SOA е значително подобрена. SQL Server 2008 поддържа пет механизма за автентикация: Basic Auth, NTLM, Digest Auth, Kerberos и Integrated Authentication, която е просто комбинация от Kerberos и NTLM.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;SQL Server 2008 също предлага възможност за подписване на софтуерни модули с цифров сертификат. Това се прилага при съхранените процедури, функции, тригери и уведомяване за събития, като така се опростява механизмът за управлението на достъпа до различните обекти. Накратко, вие можете да предоставяте права до отделните софтуерни модули и да позволявате на потребителите само достъп до показаните входни точки, но не и до лежащата отдолу схема. Подписването на софтуерни модули внася допълнителни предимства в защитата от неоторизирани промени.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Кой е привилегирован? &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;SQL Server 2008 въвежда множество нови, детайлни механизми за контрол, които гарантират точното създаване и прилагане на позволения с доста по-малко усилия в сравнение с пред- шественика си.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Публична роля. Повечето характеристики за достъп, базирани на роли, са подобни на SQL 2005, но е добавена още функционалност за уеб базирани приложения и защита от анонимни атаки в интернет. Майкрософт е създала нова публична роля. По подразбиране в SQL Server 2008 всеки потребител на базата данни автоматично се добавя към групата. (Ролите са подобни на групи, но може да имат асоциирани привилегии и права на достъп, базирани на логиката и функционалността на базата данни и приложенията.) Публичната роля е създадена, за да съдържа интернет потребителите и да ограничава всички типове права на достъп (вж. екрана).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Защита на метаданни. Метаданните на базата данни или таблиците могат да бъдат толкова важни, колкото и данните, които съхраняват. Например, ако мога да получа верификация, че таблица или определена колона съществува в базата данни, мога да заключа, че тя е добра цел за моите SQL атаки. SQL Server 2008 ви позволява да защитите метаданните чрез отговорите за грешка, базирани на присвоената роля на потребителя. Например ако всички интернет потребители са в публична роля, при опит за достъп до таблица, наречена SecretSauce, или дори за изтриването й без точните привилегии, ще се върне следният отговор:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cannot drop the table „SecretSauce“, because it does not exist, or you do not have permission.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;По-умни схеми. Важно е въвеждането на сигурност на база данни, базирана на схема, и на нейното съдържание. Преди 2008 г. SQL Server боравеше със схема чрез логическото й свързване с потребител. Когато създавате нов потребител в SQL 2000/2005, една схема се създава с него. След това потребителят унаследява позволенията така, сякаш са негови. Сега можете да създадете един потребител и след това да създадете или да му припишете определена схема. Потребителят поема собствеността върху една или няколко схеми и след това тази схема приписва права към елементите на базата данни. Този допълнителен слой на базата данни ви позволява да задавате по-раздробени позволения и контроли за потребителите и елементите на базата данни (вж. карето „За добро“).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Разделянето на обектите позволява на един потребител да създава и реализира няколко схеми за разлика от 2005, при който това изискваше няколко потребителски акаунта.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Securable обекти. SQL Server 2008 надгражда концепцията за Securable обекти, въведена в 2005. Регистрации и услуги, познати като принципали, могат да бъдат свързани към различни компоненти, което гарантира детайлни позволения за почти всеки обект в базата данни – от таблици до съхранени процедури и функции, сертификати и др. Тази детайлност, базирана на роли или позволения, е голямо подобрение за сигурността на базата данни, което допълва публичната роля много добре. От страна на сървъра се осигуряваконтрол, за да се ограничи комуникацията през мрежовите и други комуникационни канали.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Обезопасените обекти се свързват към принципалите през набор от позволения. Позволенията продължават да използват GRANT, DENY и REVOKE за дефиниране на позволения, но сега можете да отидете една стъпка по-нататък и да позволите на даден потребител да оторизират други принципали за достъп до контролирана информация.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Agent Proxies. SQL Server агент-проксита свързват самоличността на потребителите и приложените позволения към дадена задача. Това осигурява детайлен подход за предоставяне на позволения за всяка отделна стъпка в дадена задача. Това очевидно контрастира спредишните версии, които използваха единичен и често прекалено всеобхватен прокси акаунт. Всяка подсистема може да има различен брой асоциирани проксита. Има едно изключение: Transact-SQL подсистемата се изпълнява с позволения на собственика на модул.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Важно е да се отбележи, че когато се прави ъпгрейд към SQL Server 2008 от 2005, в новата версия ще бъде въведен единичен прокси акаунт. Трябва внимателно да се обмисли как да се раздели акаунтът и да се ограничат правилно позволенията.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Криптирането е ключово Добри новини: Можете да спрете да плащате за поддръжка на криптиращите продукти за бази данни, които сте закупили преди години, за да сте в съответствие с PCI. За съжаление всички тези нововъведения са само за Microsoft бази данни (няма възможности за интегриране на управление на MySQL или Oracle). SQL Server 2008 поддържа пълно криптиране на цяла база данни, отделни колони или базирано на роля. Управлението на ключове също е напълно обновено.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Задействането на различни форми на криптиране чрез SQL Server 2008 е вътрешна система за управлението на ключове. В миналото управлението на криптиращите ключове обикновено ставаше от външни продукти на други фирми, тъй като в SQL Server липсваше силно администриране на потребителите.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Разширеното управление на ключове (Extensible Key Management - EKM) защитава всичко – от съхранените вътре данни до съществуващите уеб услуги, както и самия достъп до базата данни. В допълнение EKM позволява на външни продукти да интегрират и регистрират устройства в SQL Server. „Устройствата“ могат да бъдат чисто софтуерни продукти или хардуерни, като хардуерно базирани SSL ускорители.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Тези устройства – като продуктите на nCipher и SafeNet, често прилагани от правителствени организации и големи компании за електронна търговия, използват сложни криптографски възможности, за да зададат политика за ротация на графиците за ключовете и срока им на годност. Ротирането на ключовете, автоматизирано чрез тези продукти, осигурява защита на данните с почти нулев шанс специфичен ключ да бъде компрометиран. SQL Server 2008 осигурява също поддръжка за хардуерни модули за сигурност (HSM).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Последната версия също въвежда Transparent Data Encryption (TDE). Първо плъгините бяха единствената възможност за криптиране. SQL Server 2005 въведе донякъде вътрешна поддръжка за криптиране на колони, а 2008 подобрявазначително ситуацията.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;TDE е пълно, управляемо криптиране на база данни. To може да криптира цялата база данни, както и транзакционни и лог данни. TDE е лесна възможност за администраторите да предоставят защита на данните, без това да влияе на структурата на базата данни. При предишните версии разработчиците на приложения често създаваха клиентски код, за да криптират и декриптират данните. С TDЕ тези действия стават автоматично, когато данните се записват на диск и се четат от диск. Това премахва допълнителната работа за разработване и увеличава цялостната сигурност на данните.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Предимствата от гъвкавостта и поддръжката на TDE имат своята цена. Натоварването на процесора може да достигне двуцифрен процент при добре оптимизирана система.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Подготвянето на базата данни е просто. Командата за промяна трябва да се даде от администратора на бази данни подобно на следното:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;alter database is_mag_db&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;set encryption on&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;go&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;SQL Server 2008 има функционалности за симетрично, несиметрично и базирано на сертификат криптиране, стандартно включено в пакета за всеки стандарт от криптографската библиотека на Майкрософт.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Лесни одити&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Традиционно едно от най-големите предизвикателства за администраторите е одитирането на базата данни. Коренът на проблема се крие в целта на базата данни. Обработването и съхранението на големи количества данни за контролирано приложение или специални цели изисква опитен инженер. Въпросът е как валидирате, че данните се използват по предназначението им, а не със злонамерена цел.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;За да извърши одит на базата данни, в предишните версии администраторът трябваше да установи много тригери и аларми в различни точки от данни за регистриране и по-късно да анализира резултатите, за да определи нередностите. SQL Server 2008 опростява този процес. Одиторът или администраторът трябва да определи точните данни за одит (например действие на потребител, елемент на данни, потребител или роля) и след това да създаде спецификации за одит на сървъра или базата данни на сървъра. Оттам събитията могат да се наблюдават със стандартен Windows инструмент за наблюдение или регистриран инструмент в SQL Server 2008Management Studio.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Пълната конфигурация на характеристиките за одит и регистриране би отнела няколко дни, обаче гъвкавостта ще ви позволи да интегрирате детайлен и разбираем запис в решения на други фирми.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://aspbg.net/aggbug.aspx?PostID=380" width="1" height="1"&gt;</description><category domain="http://aspbg.net/blogs/sql2008/archive/tags/ms+sql+server+2008/default.aspx">ms sql server 2008</category></item><item><title>Microsoft SQL Server оглавява класацията за сигурност в системите за управление на бази от данни</title><link>http://aspbg.net/blogs/microsoft_sql_server_security/archive/2009/01/18/microsoft-sql-server.aspx</link><pubDate>Sun, 18 Jan 2009 11:33:00 GMT</pubDate><guid isPermaLink="false">737d6030-114a-4c06-b358-cdec8c9eeff8:36</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><description>&lt;h2 class="subtitle"&gt;Автор: Ерик Огрен, анализатор на сигурността&lt;/h2&gt;
&lt;div class="date"&gt;Публикувано: Ноември 2006&lt;/div&gt;
&lt;div class="date"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="date"&gt;
&lt;h2&gt;Преглед&lt;/h2&gt;&lt;br /&gt;
&lt;p&gt;Правилната работа на базата данни е от изключително важно значение за ръководителите на предприятия, собствениците на приложения и корпоративните IT екипи. Животът на организацията буквално е записан в сървърите за бази данни. Като оставим настрана възможността за надеждно изпълнение на корпоративните приложения или коректното завършване на клиентските транзакции, базата от данни съхранява &amp;quot;снимка&amp;quot; на самото предприятие. Един от количествено измеримите индикатори на риска за пробив в данните на корпорацията, извършваната операции, или изтичане на поверителни данни, е броят на съществуващите в техническата инфраструктура уязвими места. Съществува взаимовръзка между броя на уязвимите места, броя на неоткритите уязвими места и рискът за предприятието от успешното стартиране на зловредни програми, целящи компрометиране на системата за управление на базите от данни. Абсолютно ясно е, че колкото повече уязвими места съществуват, толкова по-вероятно е атаката да бъде успешна. &lt;/p&gt;
&lt;p&gt;Имайки предвид това, ESG обработи данните за CVE (Common Vulnerability and Exposures (Често срещани възможности за уязвимост и излагане на риск)) от Националната база данни за уязвимост, за да сравни уязвимостта на защитата на търговските предложения за бази данни на Microsoft, Oracle и достъпният за разработка на кода MySQL. Oracle, която обикновено взема много присърце защитата на продуктите си, показва голям брой уязвими места в защитата през последните няколко тримесечия. Microsoft, от своя страна, дълго търси собствен път в подсигуряването на защита - от открито обявяване на дефектите до пълно преобразуване на инженеринговия процес със SDL (Security Development Lifecycle (Жизнен цикъл за разработка на сигурност и защита)). Microsoft SQL Server 2005 заслужава особено внимание, тъй като това е първото издание на продукт, което Microsoft разработва с използване на SDL. &lt;/p&gt;
&lt;p&gt;Фигура 1: Брой уязвими места и места изложени на рискове, 2003-2006&lt;/p&gt;
&lt;p&gt;Източник: Извадка от Националната база данни за регистриране на уязвими и рискови места в софтуерните продукти, ноември 2006 г.&lt;/p&gt;&lt;img style="WIDTH:500px;HEIGHT:284px;" height="284" src="http://aspbg.net/blogs/microsoft_sql_server_security/esgsecurity.jpg" width="500" border="0" alt="" /&gt; 
&lt;p&gt;ESG избра да сравни редица поддържани от NIST (Национален институт за наука и технологии) записи за CVE данни, тъй като те представляват най-добрият, независим източник на информация за откритите от клиентите, изследователите и търговците проблеми, който не са пречупени през призмата на новоиздадените поправки или бюлетини за защитата от производителите. &lt;/p&gt;
&lt;p&gt;Записите в CVE показват тенденция към увеличение от 2003 г насам, поради по-голямата сложност на продуктите, по-големите и мащабни решения, в които те се използват, както и активната роля на NIST за събиране на информация за дефектите и съобщаването им на клиентите. Заслужава да бъде отбелязано разнообразието на подадените в СVE записи по отношение на системите за управление на бази от данни на различни производители. &lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Microsoft SQL Server след стартиране на програмата SDL, има регистрирани само 2 записа в CVЕ за 2006 г. Тази тенденция се поддържа дори при увеличаване на обема на продадените продукти&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;MySQL, системата за управление на бази от данни със свободна разработка на кода (open-source database), има досега 59 записа в CVE за 2006 г. 2Резултатът за Oracle Database Server скочи на 70 подадени записа за 2006 г. в CVE.3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;ESG не включва IBM DB2 и Sybase, тъй като разискванията относно защитата са фокусирани около Microsoft, Oracle и потенциалът на подходите към системите за свободна разработка на кода. За пълнота на информацията IBM DB2 има 4 записа в CVE през 2006 г., а Sybase - 7.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Резултатите на Oracle през последните две години отчитат извършената работа за фиксиране на пропуските в сигурността и привеждане на нивото уязвимите места в съответствие с конкурентните продукти на IBM, Microsoft, MySQL и Sybase. Въпреки, че може да коментираме пълнотата и задълбочеността на програмата за разкриване на уязвими места на Oracle, вероятно ще измине доста време преди инженерите на Oracle да стигнат до основните причини за високата степен на уязвимост и да приложат корективни процедури при разработката на продукта. ESG вярва, че в този процес не са възможни преки или лесни пътища. &lt;/p&gt;
&lt;p&gt;Резултатите на Microsoft са твърде добри и следователно могат да послужат за модел на другите производители на бази данни. ESG очаква тенденциите в CVE да се запазят и през 2007 г., когато промените в подходите за разработка на Oracle и MySQL ще започнат да дават повече резултати по отношение защитата на софтуера при внедряването му от клиентите. &lt;/p&gt;
&lt;div style="MARGIN-TOP:3px;MARGIN-BOTTOM:10px;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;h2&gt;Кои действия на Microsoft могат да послужат като пример за индустрията?&lt;/h2&gt;&lt;br /&gt;
&lt;p&gt;ESG намира, че Microsoft са направили значителни инвестиции в подобряване на защитата и целостта на предлаганите от тях продукти. Резултатите от тези инвестиции за впечатляващи, както можете да видите от Фигура 1. ESG вярва, че останалите производители на бази данни могат само да спечелят от опита на Microsoft и да се поучат от най-добрите практики за разработка на тази фирма. &lt;/p&gt;
&lt;p&gt;Когато създаваме WCF клиент, първо ни е необходимо описание на крайната точка, която искаме да достъпим. Описанието може да бъде използвано за генериране на типизирано прокси. WCF предоставя инструмент наречен SvcUtil.exe за автоматизиране на този процес. Като резултат можем да пишем код като използваме типизираното прокси за да достъпим услугата. Типизираното прокси изпраща съответното съобщение до желаната крайна точка. &lt;/p&gt;
&lt;div style="MARGIN-TOP:3px;MARGIN-BOTTOM:10px;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;h2&gt;Договор на услуга и поведение при разпределение&lt;/h2&gt;&lt;br /&gt;
&lt;p&gt;Дефинирането на договор на услуга в .NET става чрез традиционните интерфейси в C#. Може да използвате всеки един интерфейс, като начална точка, също както е показано тук: &lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Сигурността и възможностите за защита трябва да бъдат включени в ядрото на продукта. Това не са елементи, които могат да бъдат прескочени в системите обслужващи критичната оперативна среда на корпорацията. Сигурността трябва да бъде измерима цел от Ден първи на внедряване и използване на продукта. Microsoft полага всички усилия да открие дефектите, преди те да бъдат вградени в конструкциите и програмния код използвайки задължително обучение по защита на инженерния състав, съвместни проверки на програмния код, подписване на прегледите на защитата и строго следене за разрешаването на откритите дефекти. Този комплексен подход по време на разработката на продукта осигурява увереност, че знанието за досегашните дефекти не е загубено а води до подобрение - новия код ако не напълно сигурен то задължително е по-сигурен от предходния.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Намаляване на атакуемата повърхност (surface). Активният интерфейс осигурява входни точки за атаките на зловредния софтуер, най-често през слабите места в обработката на входни параметри. Намаляването на атакуемите повърхности осигурява софтуерни продукти, които Microsoft и техните клиенти могат допълнително да защитят по лесен начин. Въпреки че е удобно всички програмни функции да бъдат активирани по подразбиране, добрите практики за защита диктуват подхода за активирането им допълнително като опции. Продуктите на Microsoft ще бъдат доставяни в защитени конфигурации, при които клиентът изрично трябва да активира желана от него функция.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Проверка на възможните начините за повреда на системата преди клиентите да ги открият. Този подход надхвърля традиционните функции за проверка на качеството (QA) използвайки моделиране на заплахите, последвано от серия тестове за приближеност (Fuzz Tests) При моделирането на заплахите участват най-квалифицираните инженери, които съсредоточават вниманието си върху връзките в дизайна и архитектурата, за откриване на сценариите за заплаха и начините на тяхното преодоляване. Тестовете за приближеност автоматизират тестването за проникване през атакуема повърхнина с изопачени параметри, за да открият слабите места.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Подходът на Microsoft цели да внедри сигурността и защитата като неразделна част от процеса на разработка на всеки продукт. Заедно с възможността за използване на инструменти за автоматизиране откриването на уязвими места, като забранени подпрограми или практики на незащитено програмиране, истинската стойност е създаване на съзнание, осигуряване на обучение и повишаване на отговорността на екипите в цялата организация. Това е огромна инвестиция по отношение на ресурсите, която отне години, преди да достигне практически внедряването на системите при клиентите. &lt;/p&gt;
&lt;div style="MARGIN-TOP:3px;MARGIN-BOTTOM:10px;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;h2&gt;SQL Server 2005 прилага SDL&lt;/h2&gt;&lt;br /&gt;
&lt;p&gt;Microsoft избра да използва SQL Server като първи продукт, към който да приложи своя SDL процес, започвайки от SQL Server 2000 SP3, издаден през 2003 г и продължи със SQL Server 2005. Измерените в съответствие със записите в CVE резултати са впечатляващи, в сравнение с най-големите конкуренти на Microsoft - Oracle и MySQL. Докато Oracle и MySQL показват стабилно нарастване на регистрираните дефекти от година на година, Microsoft SQL Server поддържа номинална честота на срещане от 1 или 2 записа в CVE годишно. &lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Защитен по дизайн. SQL Server претърпя много промени, за да направи защитата и сигурността основен елемент на системата за управление на бази от данни. SQL Server приложи някои от резултатите от упражненията по моделиране на заплахите, като например снижаване на риска от неконтролиран или нежелан достъп от записани процедури на ресурси от различни бази чрез изискване изрично администратора да позволи верига на собственост между базите (cross database ownership chaining) или с подписване на кода с използване на сертификати. С прилагането на модела на гранулирано доверие, добре написаните приложения имат възможност да избегнат въвеждане на потребителски имена и пароли в програмния код.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Защитени по подразбиране. В съответствие с принципа за намаляване на атакуемите повърхнини много от подразбиращите се опции в SQL Server са деактивирани. Клиенти, инсталиращи SQL Server, започват със инсталиране на защитена конфигурация, в която необходимите услуги трябва да бъдат изрично активирани. Например клиентите трябва да активират функции, които са изключени по подразбиране, като изпълнение на cmd/ActiveX scripts, външни записани процедури (xp_) и услугите dbmail и SQL браузър. Шансът за осъществяване на атака посредством отворена по невнимание външна връзка се намалява значително.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Защитени при внедряване. Microsoft прилага в SQL Server функции, правещи го по-лесно защитим продукт. ESG намира, че използването на системата за автентикация, сертификати и симетрични/асиметрични ключове, йерархичната система за сигурност, са особено полезни при управление на позволенията на потребителите към обектите в базата от данни. Всъщност потребителите се нуждаят от специфични привилегии, дори за да могат да видят метаданни, върху които нямат права за собственост.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;div style="MARGIN-TOP:3px;MARGIN-BOTTOM:10px;"&gt;&lt;a href="http://clients.crossroad.bg/bulgaria/ESG2006SQLSecurity.mspx#top"&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;a class="" title="EJC" name="EJC"&gt;&lt;/a&gt;
&lt;h2&gt;Заключителни бележки&lt;/h2&gt;&lt;br /&gt;
&lt;p&gt;Цифрите на CVE не лъжат. Забележителните резултати от вложенията на Microsoft за създаване на по-защитен софтуер в SQL Server 2005 са предмет на обществено достояние. ESG разговаря с клиенти, които са стандартизирали особено важните за мисията им приложения на Microsoft SQL Server във връзка със свързаните със сигурността и защитата резултати. Естеството на подобренията в защитата и сигурността, а именно фундаменталните промени в начина на разработване, създаване и тестване на софтуера дават преимущества, които Microsoft би трябвало да поддържа с правилна експлоатация. ESG счита, че Microsoft има години преднина пред Oracle и MySQL по отношение производството на надеждни и защитени продукти за бази данни. &lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Всички имена на търговски марки са собственост на съответните фирми. Информацията в това издание е получена от източници, считани от ESG за надеждни, но не се гарантира от ESG. Изданието може да включва мнения на ESG, които биха могли да се променят. Изданието е защитено с авторски права на The Enterprise Strategy Group, Inc и е може да бъде използвано само от абонати или лица, които са го закупили директно от ESG. Всяко репродуциране или преразпределение на изданието, като цяло или на части, независимо по какъв начин - като хартиено копие, в електронен формат или по друг начин, от лица, които нямат пълномощия за получаването му, без изричното съгласие на The Enterprise Strategy Group, Inc ще бъде считано за нарушение на закона за авторските права на Съединените Щати и ще бъде обект на преследване по отношение нарушение на гражданските права и, ако е приложимо, на криминално преследване. В случай на въпроси, се консултирайте с отдела за връзки с обществеността на ESG на тел. (508)482-0188. &lt;/p&gt;&lt;/div&gt;&lt;img src="http://aspbg.net/aggbug.aspx?PostID=36" width="1" height="1"&gt;</description><category domain="http://aspbg.net/blogs/microsoft_sql_server_security/archive/tags/MS+SQL+Server/default.aspx">MS SQL Server</category></item><item><title>Silverlight в ASP.NET уеб сайт</title><link>http://aspbg.net/blogs/silverlight/archive/2008/11/27/silverlight-asp-net.aspx</link><pubDate>Thu, 27 Nov 2008 09:53:00 GMT</pubDate><guid isPermaLink="false">737d6030-114a-4c06-b358-cdec8c9eeff8:18</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;strong&gt;Въведение&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Silverlight е нова технология от Майкрософт предназначена за разработването на RIA. Тя се вгражда във всеки браузър като плъг-ин и е платформено независима. В тази статия ще покажа как се вграждат Silverlight проект в ASP.NET сайт.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Какво е необходимо&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Като за начало изтеглете и инсталирайте новата версия на &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx" target="_blank"&gt;&lt;font color="#44a1d0"&gt;VS 2008 бета 2 от тук&lt;/font&gt;&lt;/a&gt;. Повече за &lt;a title="новостите във Visual Studio 2008 бета 2" href="http://ajaxus.net/2007/07/30/vs-2008-and-net-35-beta-2-released/"&gt;&lt;font color="#44a1d0"&gt;новостите във Visual Studio 2008 бета 2&lt;/font&gt;&lt;/a&gt;. За да разработвате Silverlight приложения, също така ви е необходимо и &lt;a href="http://go.microsoft.com/fwlink/?LinkID=89149&amp;amp;clcid=0x409" target="_blank"&gt;&lt;font color="#44a1d0"&gt;Silverlight Tools Alpha&lt;/font&gt;&lt;/a&gt;. След като ги инсталирате, опцията за Silverlight проект ще стане активна в VS.&lt;br /&gt;За да виждаме резултата в браузър ни е необходимо &lt;a href="http://www.microsoft.com/silverlight/license-win-dev.aspx#2_0" target="_blank"&gt;&lt;font color="#44a1d0"&gt;Silverlight runtime/plugin 1.1 Alpha&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Идеята&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Silverlight е базиран на Xaml, което е XML базиран език за UI елементи. С помоща на Xaml е възможно разграничаването на визуалните елементи от програмната част. Това се реализира чрез ‘code-behind’ концепция позната ни от ASP.NET. На всеки Xaml файл съществува C# файл, който съдържа програмната логика за управлението на графичните елементи.&lt;br /&gt;Когато създаваме Silverlight проект използвайки темплейт от VS 2008, някои файлове се генерират автоматично с образователна цел. Xaml файлът е интегриран в примерена HTML страница. В тази статия ще ви покажа как да извадите Xaml от HTML страницата и да го интегрирате в ASP.NET страница.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Проектите&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;1. Silverlight проекта&lt;/em&gt;&lt;br /&gt;Ако сте инсталирали всичко правилно трябва да видите следният екран когато изберете от менюто File -&amp;gt; New Project:&lt;/p&gt;
&lt;p&gt;Проекта ще бъде създаден след като натиснете OK. Следните страници са създадени по подразбиране:&lt;br /&gt;- &lt;strong&gt;Page.xaml&lt;/strong&gt;: това е страницата в която описвате UI елементите&lt;br /&gt;- &lt;strong&gt;Page.xaml.cs&lt;/strong&gt;: тук пишете програмната логика. Обикновен C# код&lt;br /&gt;- &lt;strong&gt;Silverlight.js&lt;/strong&gt;: това е javascript файл с който създавате Silverlight контрола в HTML/ASPX страницата за да показвате Xaml съдържанието.&lt;br /&gt;- &lt;strong&gt;TestPage.html&lt;/strong&gt;: HTML страницата която съдържа Silverlight контрола&lt;/p&gt;
&lt;p&gt;&lt;em&gt;2. ASP.NET сайтът&lt;/em&gt;&lt;br /&gt;Трябва да добавим и асп проектът към общия solution. Add -&amp;gt; New Web Site.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;3. Добавяме Silverlight към уеб сайта&lt;/em&gt;&lt;br /&gt;Натискаме с десния бутон на прокта на уеб сайта и от падащото меню избираме Add Silverlight Link.&lt;/p&gt;
&lt;p&gt;Това беше първата стъпка. Следващата е да разгледаме HTML страницата за да разберем кой код е отговорен за генерирането на Silverlight контрола в testpage.html:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="html4strict html4strict" style="FONT-FAMILY:monospace;"&gt;&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;head&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;title&lt;/span&gt;&amp;gt;&lt;/span&gt;Silverlight Project Test Page &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;title&lt;/span&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;type&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;src&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;Silverlight.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;type&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;src&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;TestPage.html.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;head&lt;/span&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;body&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;div&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;id&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;SilverlightControlHost&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;type&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
            createSilverlight();
        &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;body&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;html&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;Както се вижда, контрола е създаден с javascript функция, която се съдържа в Silverlight.js. Това което трябва да направим е да добавим този файл към асп сайта. После създаваме нов javascript файл, който ще съдържа в себе си кода от testpage.html.js&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="javascript javascript" style="FONT-FAMILY:monospace;"&gt;&lt;span style="COLOR:#006600;FONT-STYLE:italic;"&gt;// JScript source code&lt;/span&gt;
&amp;nbsp;
&lt;span style="COLOR:#006600;FONT-STYLE:italic;"&gt;//contains calls to silverlight.js, example below loads Page.xaml&lt;/span&gt;
&lt;span style="FONT-WEIGHT:bold;COLOR:#003366;"&gt;function&lt;/span&gt; createSilverlight&lt;span style="COLOR:#009900;"&gt;(&lt;/span&gt; xamlPage &lt;span style="COLOR:#009900;"&gt;)&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;{&lt;/span&gt;
    Silverlight.&lt;span style="COLOR:#660066;"&gt;createObjectEx&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;{&lt;/span&gt;
        source&lt;span style="COLOR:#339933;"&gt;:&lt;/span&gt; xamlPage&lt;span style="COLOR:#339933;"&gt;,&lt;/span&gt;
        parentElement&lt;span style="COLOR:#339933;"&gt;:&lt;/span&gt; document.&lt;span style="COLOR:#660066;"&gt;getElementById&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#3366cc;"&gt;&amp;quot;SilverlightControlHost&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;)&lt;/span&gt;&lt;span style="COLOR:#339933;"&gt;,&lt;/span&gt;
        id&lt;span style="COLOR:#339933;"&gt;:&lt;/span&gt; &lt;span style="COLOR:#3366cc;"&gt;&amp;quot;SilverlightControl&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#339933;"&gt;,&lt;/span&gt;
        properties&lt;span style="COLOR:#339933;"&gt;:&lt;/span&gt; &lt;span style="COLOR:#009900;"&gt;{&lt;/span&gt;
            width&lt;span style="COLOR:#339933;"&gt;:&lt;/span&gt; &lt;span style="COLOR:#3366cc;"&gt;&amp;quot;100%&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#339933;"&gt;,&lt;/span&gt;
            height&lt;span style="COLOR:#339933;"&gt;:&lt;/span&gt; &lt;span style="COLOR:#3366cc;"&gt;&amp;quot;100%&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#339933;"&gt;,&lt;/span&gt;
            version&lt;span style="COLOR:#339933;"&gt;:&lt;/span&gt; &lt;span style="COLOR:#3366cc;"&gt;&amp;quot;1.1&amp;quot;&lt;/span&gt;&lt;span style="COLOR:#339933;"&gt;,&lt;/span&gt;
            enableHtmlAccess&lt;span style="COLOR:#339933;"&gt;:&lt;/span&gt; &lt;span style="COLOR:#3366cc;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;
        &lt;span style="COLOR:#009900;"&gt;}&lt;/span&gt;&lt;span style="COLOR:#339933;"&gt;,&lt;/span&gt;
        events&lt;span style="COLOR:#339933;"&gt;:&lt;/span&gt; &lt;span style="COLOR:#009900;"&gt;{&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;}&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;}&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;)&lt;/span&gt;;
&amp;nbsp;
    &lt;span style="COLOR:#006600;FONT-STYLE:italic;"&gt;// Give the keyboard focus to the Silverlight control by default&lt;/span&gt;
    document.&lt;span style="COLOR:#660066;"&gt;body&lt;/span&gt;.&lt;span style="COLOR:#000066;"&gt;onload&lt;/span&gt; &lt;span style="COLOR:#339933;"&gt;=&lt;/span&gt; &lt;span style="FONT-WEIGHT:bold;COLOR:#003366;"&gt;function&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;)&lt;/span&gt; &lt;span style="COLOR:#009900;"&gt;{&lt;/span&gt;
      &lt;span style="FONT-WEIGHT:bold;COLOR:#003366;"&gt;var&lt;/span&gt; silverlightControl &lt;span style="COLOR:#339933;"&gt;=&lt;/span&gt; document.&lt;span style="COLOR:#660066;"&gt;getElementById&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#3366cc;"&gt;&amp;#39;SilverlightControl&amp;#39;&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;)&lt;/span&gt;;
      &lt;span style="FONT-WEIGHT:bold;COLOR:#000066;"&gt;if&lt;/span&gt; &lt;span style="COLOR:#009900;"&gt;(&lt;/span&gt;silverlightControl&lt;span style="COLOR:#009900;"&gt;)&lt;/span&gt;
      silverlightControl.&lt;span style="COLOR:#000066;"&gt;focus&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#009900;"&gt;)&lt;/span&gt;;
    &lt;span style="COLOR:#009900;"&gt;}&lt;/span&gt;
&amp;nbsp;
&lt;span style="COLOR:#009900;"&gt;}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;С малка промяна(добавен параметър) кодът изглежда по следния начин:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="html4strict html4strict" style="FONT-FAMILY:monospace;"&gt;&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;html&lt;/span&gt; xmlns&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;head&lt;/span&gt; runat&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;title&lt;/span&gt;&amp;gt;&lt;/span&gt;Integrating Silverlight in aspx&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;title&lt;/span&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;type&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;src&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;Silverlight.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;type&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;src&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;XamlPageCreation.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;head&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;body&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;form&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;id&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;frmMain&amp;quot;&lt;/span&gt; runat&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;div&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;id&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;SilverlightControlHost&amp;quot;&lt;/span&gt; &amp;gt;&lt;/span&gt;
        &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;type&lt;/span&gt;&lt;span style="COLOR:#66cc66;"&gt;=&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
            createSilverlight( &amp;#39;Page.xaml&amp;#39; );
        &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;script&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;form&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;body&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;&amp;lt;&lt;span style="COLOR:#66cc66;"&gt;/&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;html&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;strong&gt;Какво ще показваме?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Засега имаме работещ ASP.NET/Silverlight пример който не показва нищо. Нека направим TextBlock със съобщение потребителя да избира файлове. При кликване на TextBlock-а се отваря FileBrowse диалог и след селекция на няколко файла, техните имена се показват в TextBlock контрола.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="xml xml" style="FONT-FAMILY:monospace;"&gt;&lt;span style="COLOR:#009900;"&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;&amp;lt;Canvas&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;x:Name&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;parentCanvas&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;        &lt;span style="COLOR:#000066;"&gt;xmlns&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;http://schemas.microsoft.com/client/2007&amp;quot;&lt;/span&gt; &lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;        &lt;span style="COLOR:#000066;"&gt;xmlns:x&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt; &lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;        &lt;span style="COLOR:#000066;"&gt;Loaded&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;Page_Loaded&amp;quot;&lt;/span&gt; &lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;        &lt;span style="COLOR:#000066;"&gt;x:Class&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;SilverlightSamplePrj.Page;assembly=ClientBin/SilverlightSamplePrj.dll&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;        &lt;span style="COLOR:#000066;"&gt;Width&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;400&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;        &lt;span style="COLOR:#000066;"&gt;Height&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;400&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;        &lt;span style="COLOR:#000066;"&gt;Background&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;#EEEEEE&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;        &lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&amp;nbsp;
  &lt;span style="COLOR:#009900;"&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;&amp;lt;TextBlock&lt;/span&gt; &lt;span style="COLOR:#000066;"&gt;x:Name&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;txtFileName&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;             Canvas.&lt;span style="COLOR:#000066;"&gt;Top&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;5&amp;quot;&lt;/span&gt; Canvas.&lt;span style="COLOR:#000066;"&gt;Left&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;5&amp;quot;&lt;/span&gt; &lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;             &lt;span style="COLOR:#000066;"&gt;Foreground&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;Black&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;             &lt;span style="COLOR:#000066;"&gt;Text&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;Click for OpenFileDialog&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span style="COLOR:#009900;"&gt;             &lt;span style="COLOR:#000066;"&gt;MouseLeftButtonDown&lt;/span&gt;=&lt;span style="COLOR:#ff0000;"&gt;&amp;quot;OnClick&amp;quot;&lt;/span&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&amp;nbsp;
&lt;span style="COLOR:#009900;"&gt;&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;&amp;lt;/Canvas&lt;span style="FONT-WEIGHT:bold;COLOR:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;Ето и кода в C# файла:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharp csharp" style="FONT-FAMILY:monospace;"&gt;&lt;span style="COLOR:#0600ff;"&gt;using&lt;/span&gt; &lt;span style="COLOR:#008080;"&gt;System&lt;/span&gt;;
&lt;span style="COLOR:#0600ff;"&gt;using&lt;/span&gt; &lt;span style="COLOR:#008080;"&gt;System.Windows&lt;/span&gt;;
&lt;span style="COLOR:#0600ff;"&gt;using&lt;/span&gt; &lt;span style="COLOR:#008080;"&gt;System.Windows.Controls&lt;/span&gt;;
&lt;span style="COLOR:#0600ff;"&gt;using&lt;/span&gt; &lt;span style="COLOR:#008080;"&gt;System.Windows.Documents&lt;/span&gt;;
&lt;span style="COLOR:#0600ff;"&gt;using&lt;/span&gt; &lt;span style="COLOR:#008080;"&gt;System.Windows.Ink&lt;/span&gt;;
&lt;span style="COLOR:#0600ff;"&gt;using&lt;/span&gt; &lt;span style="COLOR:#008080;"&gt;System.Windows.Input&lt;/span&gt;;
&lt;span style="COLOR:#0600ff;"&gt;using&lt;/span&gt; &lt;span style="COLOR:#008080;"&gt;System.Windows.Media&lt;/span&gt;;
&lt;span style="COLOR:#0600ff;"&gt;using&lt;/span&gt; &lt;span style="COLOR:#008080;"&gt;System.Windows.Media.Animation&lt;/span&gt;;
&lt;span style="COLOR:#0600ff;"&gt;using&lt;/span&gt; &lt;span style="COLOR:#008080;"&gt;System.Windows.Shapes&lt;/span&gt;;
&amp;nbsp;
&lt;span style="COLOR:#0600ff;"&gt;namespace&lt;/span&gt; SilverlightSamplePrj
&lt;span style="COLOR:#000000;"&gt;{&lt;/span&gt;
    &lt;span style="COLOR:#0600ff;"&gt;public&lt;/span&gt; partial &lt;span style="COLOR:#ff0000;"&gt;class&lt;/span&gt; Page &lt;span style="COLOR:#008000;"&gt;:&lt;/span&gt; Canvas
    &lt;span style="COLOR:#000000;"&gt;{&lt;/span&gt;
        &lt;span style="COLOR:#0600ff;"&gt;public&lt;/span&gt; &lt;span style="COLOR:#0600ff;"&gt;void&lt;/span&gt; Page_Loaded&lt;span style="COLOR:#000000;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;object&lt;/span&gt; o, EventArgs e&lt;span style="COLOR:#000000;"&gt;)&lt;/span&gt;
        &lt;span style="COLOR:#000000;"&gt;{&lt;/span&gt;
            &lt;span style="COLOR:#008080;FONT-STYLE:italic;"&gt;// Required to initialize variables&lt;/span&gt;
            InitializeComponent&lt;span style="COLOR:#000000;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#000000;"&gt;)&lt;/span&gt;;
        &lt;span style="COLOR:#000000;"&gt;}&lt;/span&gt;
&amp;nbsp;
        &lt;span style="COLOR:#0600ff;"&gt;public&lt;/span&gt; &lt;span style="COLOR:#0600ff;"&gt;void&lt;/span&gt; OnClick&lt;span style="COLOR:#000000;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#ff0000;"&gt;object&lt;/span&gt; o, MouseEventArgs e&lt;span style="COLOR:#000000;"&gt;)&lt;/span&gt;
        &lt;span style="COLOR:#000000;"&gt;{&lt;/span&gt;
            txtFileName.&lt;span style="COLOR:#0000ff;"&gt;Text&lt;/span&gt; &lt;span style="COLOR:#008000;"&gt;=&lt;/span&gt; &lt;span style="COLOR:#666666;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;;
            &lt;span style="COLOR:#ff0000;"&gt;string&lt;/span&gt; NL &lt;span style="COLOR:#008000;"&gt;=&lt;/span&gt; Environment.&lt;span style="COLOR:#0000ff;"&gt;NewLine&lt;/span&gt;;
            OpenFileDialog ofDlg &lt;span style="COLOR:#008000;"&gt;=&lt;/span&gt; &lt;span style="COLOR:#008000;"&gt;new&lt;/span&gt; OpenFileDialog&lt;span style="COLOR:#000000;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#000000;"&gt;)&lt;/span&gt;;
            ofDlg.&lt;span style="COLOR:#0000ff;"&gt;EnableMultipleSelection&lt;/span&gt; &lt;span style="COLOR:#008000;"&gt;=&lt;/span&gt; true;
            &lt;span style="COLOR:#0600ff;"&gt;if&lt;/span&gt; &lt;span style="COLOR:#000000;"&gt;(&lt;/span&gt;ofDlg.&lt;span style="COLOR:#0000ff;"&gt;ShowDialog&lt;/span&gt;&lt;span style="COLOR:#000000;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#000000;"&gt;)&lt;/span&gt; &lt;span style="COLOR:#008000;"&gt;==&lt;/span&gt; DialogResult.&lt;span style="COLOR:#0000ff;"&gt;OK&lt;/span&gt;&lt;span style="COLOR:#000000;"&gt;)&lt;/span&gt;
            &lt;span style="COLOR:#000000;"&gt;{&lt;/span&gt;
                &lt;span style="COLOR:#0600ff;"&gt;foreach&lt;/span&gt; &lt;span style="COLOR:#000000;"&gt;(&lt;/span&gt;FileDialogFileInfo fdFileInfo &lt;span style="COLOR:#0600ff;"&gt;in&lt;/span&gt; ofDlg.&lt;span style="COLOR:#0000ff;"&gt;SelectedFiles&lt;/span&gt;&lt;span style="COLOR:#000000;"&gt;)&lt;/span&gt;
                &lt;span style="COLOR:#000000;"&gt;{&lt;/span&gt;
                    txtFileName.&lt;span style="COLOR:#0000ff;"&gt;Text&lt;/span&gt; &lt;span style="COLOR:#008000;"&gt;+=&lt;/span&gt; fdFileInfo.&lt;span style="COLOR:#0000ff;"&gt;Name&lt;/span&gt; &lt;span style="COLOR:#008000;"&gt;+&lt;/span&gt; NL;
                &lt;span style="COLOR:#000000;"&gt;}&lt;/span&gt;
            &lt;span style="COLOR:#000000;"&gt;}&lt;/span&gt;
        &lt;span style="COLOR:#000000;"&gt;}&lt;/span&gt;
    &lt;span style="COLOR:#000000;"&gt;}&lt;/span&gt;
&lt;span style="COLOR:#000000;"&gt;}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Заключение&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Това е достатъчно за начало, очакваме следващите версии на Silverlight където се надяваме да има предефинирани контроли плюс куп други възможности който да утвърдят Silverlight като Технологията за RIA.&lt;/p&gt;&lt;img src="http://aspbg.net/aggbug.aspx?PostID=18" width="1" height="1"&gt;</description><category domain="http://aspbg.net/blogs/silverlight/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Какво е ASP.NET?</title><link>http://aspbg.net/blogs/whatisaspnet/archive/2008/11/27/asp-net.aspx</link><pubDate>Thu, 27 Nov 2008 09:50:00 GMT</pubDate><guid isPermaLink="false">737d6030-114a-4c06-b358-cdec8c9eeff8:17</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;ASP.NET представлява технология за разработка на мощни web приложения базирани на .NET платформата на Майкрософт, предлагайки някои съществени предимства в сравнение с предишните модели за разработка на web приложения.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Характерни черти на ASP.NET&lt;br /&gt;&lt;/strong&gt;Повишена производителност – създаваните с ASP.NET приложения представляват код, който се изпълнява на уеб сървър. За разлика от предшестващите го технологии, ASP.NET е в състояние да се възползва от предимствата на ранно свързване, just-in-time компилирането, оптимизация на кеширане (на различни нива) и др. По този начин получавате висока производителност преди да сте написали и ред програмен код.&lt;br /&gt;Поддръжка от първокласни инструменти - ASP.NET приложения могат да се разработват дори на Notepad, но истинско повишаване на производителността се наблюдава при използването на мощния инструментариум и средства за дизайн на Visual Studio. Потребителския интерфейс се осъществява в WYSIWYG (What You See Is What You Get) среда, като добавянето на контроли става посредством drag-and-drop. Налице е опция за автоматично разгръщане (deployment) и още много интересни възможности.&lt;br /&gt;Мощност и гъвкавост – Базирана на Microsoft .NET Common Language Runtime (CLR), ASP.NET дава възможност на разработчиците да се възползват от предимствата и гъвкавостта на платформата. Те могат да изберат език за програмиране от множеството (над двадесет) езика, подходящи за разработване на .NET приложения, който най-добре подхожда на конкретната реализация. Web приложенията могат директно да комуникират с базата данни, да използват web услуги и да си взаимодействат с COM+ базирани приложения. &lt;br /&gt;Леснота при разработка - ASP.NET облекчава изпълнението на всевъзможни задачи от прости форми до цялостно конфигуриране на сайта. Така например ASP.NET позволява създаването на приложения, при които ясно се разграничава логиката на приложението от презентационния код, като обработката на събития и създаването на потребителски интерфейс е нещо познато на Visual Basic програмистите. &lt;br /&gt;Леснота при конфигуране - ASP.NET ползва текстова йерархичнаа система на конфигуриране, която опростява максимално прилагането на настройките на конфигурацията на сървъра и web приложенията.Тъй като конфигурацията се съхранява в текстови файлове, за промяната им не са необходими специални инструменти. Следвайки философията на “нулева администрация&amp;quot;, ASP.NET приложенията се инсталират на web сървъра чрез просто копиране на съответните файлове. За отбелязване е, че за инсталация на ново приложение или подмяната на даден модул не е необходимо рестартиране на самия сървър. &lt;br /&gt;Възможност за разширение – архитектурата на ASP.NET позволява на разработчиците да разширяват възможностите предоставени от средата. Разработчикът може дори да замени някой от субкомпонентите на ASP.NET със разработени от него модули. &lt;br /&gt;Мащабируемост и наличност - ASP.NET е проектирана да бъде мащабируема, като предлага възможности за подобряване на производителността в клъстерна или многопроцесорна система. Процесите са внимателно следени и управлявани по време на тяхното изпълнение от ASP.NET, което позволява при неадекватно поведение на някой процес (неправилна работа с паметта, блокиране) на негово място да бъде създаден нов процес, което позволява вашето приложение да бъде на разположение непрекъснато и да отговаря на потребителските заявки.&lt;br /&gt;Сигурност – с помощта на интегрираната аутентикация на Windows и гъвкавостта при конфигурацията на всеки компонент от приложение, както и чрез използването на .NET модела на сигурност и функционалния обхват предоставени от IIS могат да се разработват приложенията отговарящи на високи изисквания за ниво сигурност.&lt;br /&gt;&lt;br /&gt;Едно от най-съществените предимства на ASP.NET пред класическата ASP са подобрените опции за управление на състоянията в уеб страниците. Заклетите фенове на ASP често остават учудени при миграция към ASP.NET от драматичните промени в използвания модел на програмиране. Предоставяните съвременни техники за управление на състоянията прави разработването на приложения за web да наподобява в голяма степен традиционната разработка на приложения за настолни компютри. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Предимствата на ASP.NET&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Създаденият с ASP.NET код е лесен за преглед и одит. Независимо как създавате ASP приложения, те често са пълни с излишен код. ASP.NET позволява не само да се пише по-бързо и лесно, но също улеснява разработчиците в процеса на качествен контрол на кода и при последващи корекции и оптимизации, като самият код се може съхранява отделно от потребителския интерфейс. &lt;br /&gt;&lt;br /&gt;ASP.NET подобрява мащабируемостта, сигурността и надеждността на приложенията.&lt;br /&gt;&lt;br /&gt;ASP.NET предлага по-добра поддръжка на различните уеб браузъри. Проблемът със съвместимостта доскоро стоеше с пълна сила пред разработчиците на ASP, които трябваше да правят различни компромиси – или с цел максимална съвместимост с по-стари браузъри да ползват HTML 3.2 и да ограничат набора от средства и инструменти, или в крайна сметка продуктите им да не бъдат използваеми на всички потребителски системи.&lt;br /&gt;&lt;br /&gt;Използване на широко многообразие от езици за програмиране&lt;br /&gt;Наличните версии на ASP са базирани на скриптови езици, като VBScript и JScript. Те предлагат добри инструменти, но страдат от следните два основни недостатъка: те биват интерпретирани и не използват строги типове за данните. Това води до известно влошаване на производителността, което вече може да бъда избегнато. ASP.NET не изключва употребата на скриптовите езици, но добавя поддръжка на всички езици достъпни за разработка на .NET приложения като Visual Basic, C++ и С#.&lt;br /&gt;&lt;br /&gt;С ASP.NET компилацията се извършва при първоначално зареждане на страницата в уеб сървъра. Дори скриптовите езици се компилират преди изпълнението, така се повишава производителността например при ползване на Jscript. Toва е едно от основните нововъведения в ASP.NET. Досегашните версии на езиците за програмиране разглеждаха типовете данни и обектите различно и практически единственият вариант за крос-езиково програмиране беше създаването на СОМ обекти. Новото изпълнение на кода в реално време, въведено в Microsoft .NET Framework позволява истинско крос-езиково програмиране – например създаване на обекти със С# и тяхното доразвиване със средствата на Visual Basic. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://aspbg.net/aggbug.aspx?PostID=17" width="1" height="1"&gt;</description><category domain="http://aspbg.net/blogs/whatisaspnet/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Windows Server 2003</title><link>http://aspbg.net/blogs/server2003/archive/2008/11/27/windows-server-2003.aspx</link><pubDate>Thu, 27 Nov 2008 09:44:00 GMT</pubDate><guid isPermaLink="false">737d6030-114a-4c06-b358-cdec8c9eeff8:16</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsoft Windows Server 2003 предлага на деловия свят най-новите предимства от развойната платформа .NET Framework, вградена вече в сървърната операционна система. Ключови подобрения в семейството Windows Server 2003 улесняват още повече развойните задачи, увеличават производителността и мащабирането, повишават защитата на системния код и разширяват възможностите за внедряване и администриране.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Използвайки потенциала на архитектурата .NET Framework, Windows Server 2003 носи подобрения в следните области:&lt;/b&gt;&lt;/p&gt;
&lt;h5 style="PADDING-TOP:2px;"&gt;Интеграция&lt;/h5&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Готови за ползване средства. &lt;/b&gt;Тъй като архитектурата .NET Framework е интегрирана в основата на семейството сървъри Windows Server 2003, отпада необходимостта от внедряване и администриране на допълнителни компоненти. Така потребителят получава директно предимствата на .NET Framework:&lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Напълно управляем, защитен и наситен с функции програмен модел и среда за изпълнение на приложения.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Опростена разработка и внедряване на приложения.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Интеграция с разнообразни езици за програмиране.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Вградена поддръжка на XML. &lt;/b&gt;Тъй като XML Web- услугите са интегрирани в основата на Windows Server 2003, съществуващи услуги като COM+ и Microsoft Message Queuing (MSMQ) могат веднага да се възползват от предимствата им. С едно щракване на мишката всеки съществуващ COM+ обект може да се преобразува в XML Web- услуга и да обменя информация чрез SOAP, протокола за пренос на XML- базирани обекти през разпределени инфраструктури, защитни стени или в Интернет. И MSMQ може да използва SOAP и XML като системен формат, позволявайки на слабо свързани приложения да взаимодействат с широк асортимент системи. Тези подобрения улесняват сериозно стандартизацията на заварени приложения, за да получат предимствата от повсеместната комуникация чрез .NET.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Поддръжка на UDDI. &lt;/b&gt;Windows Server 2003 съдържа корпоративна версия на тези услуги: Enterprise Universal Description, Discovery, and Integration (UDDI) Services – динамична, гъвкава инфраструктура за реализация на Web- услуги. С това стандартизирано решение организациите могат да изпълняват собствени UDDI- услуги в интранет или екстранет. Чрез UDDI- услуги програмните ресурси на организациите могат да се каталогизират. Прилагайки категории като географско положение, Quality of Service (QoS) или класове от услуги, организациите могат по стандартен начин да систематизират, описват и разкриват услугите си. UDDI- услугите са достъпни през Web- базиран потребителски интерфейс или програмно чрез SOAP – интерфейса. Тъй като UDDI- услугите автоматично обявяват съществуването и местоположението си, те лесно биват откривани като Web- услуга. UDDI Services са налице в следните издания: Windows Server 2003, Standard Edition, Windows Server 2003, Enterprise Edition и Windows Server 2003, Datacenter Edition.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;a class="topOfPage" href="http://null/#top"&gt;&lt;/a&gt;&lt;a class="" name="EYB"&gt;&lt;/a&gt;
&lt;h2&gt;Надеждност&lt;/h2&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Преработени Internet Information Services. &lt;/b&gt;Интернет- услугите, осъществявани от IIS 6.0, компонент на Windows Server 2003, са преработени из основи на базата на модел с устойчиви на грешки процеси. Чрез него надеждността на Web- сайтовете и приложенията с IIS 6.0 се издига на високо ниво. Ако досега „увисването” на едно приложение застрашаваше стабилността на целия сайт, при IIS 6.0 в семейството сървъри Windows Server 2003 отделно Web- приложение или няколко Web- сайта могат да се изолират в самостоятелен процес, наричан &amp;quot; пул на приложения” (application pool), комуникиращ директно с ядрото. С това не само се увеличава капацитета на приложенията и се освобождават хардуерни ресурси на сървъра, но и се предотвратява възможността на отделно приложение или сайт да нарушава изпълнението на други XML Web- услуги или Web- приложения от IIS. Предимствата на новия модел IIS- процеси, устойчиви на грешки, се използват пряко от Microsoft ASP.NET.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;В IIS е предвидена и възможност за наблюдение на здравословното му състояние, за да бъдат лесно откривани, предотвратявани или поправяни грешки в Web- приложенията. Тази функция за наблюдение на състоянието и откриване на грешки е достъпна и за преобладаващата част заварени приложения, работещи под IIS 4.0 и IIS 5.0., без да им се правят промени.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;По- големи клъстери. &lt;/b&gt;С новите издания Windows Server 2003, Enterprise Edition или Win-dows Server 2003, Datacenter Edition организациите могат да удвоят броя на сървърите, свърани в клъстер до 8, в сравнение с Windows®2000 Server. Увеличаването на броя сървъри в клъстер предоставя повече възможности на администратора за внедряване на приложения и за определяне на политики за продължаване на обработката в случай на отказ, отговарящи по- адекватно на очакванията и рисковите фактори на бизнеса. По-големите сървърни клъстери са по- гъвкави при създаването на разпръснати върху няколко географски места клъстери с цел постигане на устойчивост спрямо откази както в хардуера, така и в приложенията.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;a class="" name="EKC"&gt;&lt;/a&gt;
&lt;h2&gt;Производителност и мащабиране&lt;/h2&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Вертикално (Scale up) и хоризонтално (scale out) мащабиране. &lt;/b&gt;В общ план Windows Server 2003 предоставя по- голям капацитет както за вертикално мащабиране – добавянето на изчислителен ресурс към отделен компютър, така и за хоризонтално мащабиране – добавяне на компютри в сървърно обединение. Приведените в този раздел свойства се отнасят до подобренията в производителността на Windows Server 2003 чрез вертикално мащабиране и изобщо до подобрените възможности за мащабиране.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;По- бързи транзакции. &lt;/b&gt;Изпълнението на разпределени транзакции е по- ефективно чрез подобренията в услугите Microsoft COM+. COM+ версия 1.5, известни като Enterprise Ser-vices в архитектурата.NET Framework, предоставят оптимирани функции за подобряване на възможностите за мащабиране, готовност и администриране на съществуващи и нови сървърни приложения.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;По- бърз ASP.NET. &lt;/b&gt;Web- формуляри в ASP.NET, подобреното кеширане и опростеният достъп до данни в .NET ускоряват цялостния процес за разработка на приложения. Поради интеграцията на .NET Framework в семейството сървъри Windows Server 2003, ASP.NET се изпълнява с над 30% по- бързо (спрямо Windows 2000 Server).&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Драйвер за IIS 6.0 в режим “ядро”. &lt;/b&gt;Новият драйвер HTTP.SYS, изпълняван в режим “ядро” (kernel mode), за синтактичен анализ и кеширане на HTTP е специално настроен за увеличаване на пропускателната способност на Web- сървъра. Тъй като е единствената контактна точка за всички входящи към сървъра HTTP- заявки, HTTP.SYS осигурява високоскоростна връзка за сървърни приложения с HTTP и подобрява управлението на връзките, регулацията на пропускателната способност и регистрирането на събития от Web- сървъра. Друго предимство на HTTP.SYS е, че ако някое Web- приложение увисне, драйверът запазва състоянията на клиентските връзки, докато IIS рестартира приложението. Така повечето потребители, ползващи приложението, няма изобщо да усетят проблема.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;IIS 6.0 Caching Policy and Thread Management. &lt;/b&gt;IIS 6.0 разполага с мощни функции за определяне на набора страници за кеширане от приложение или от множество сайтове. Това значи, че Web- сървърът оптимира ресурсите на компютъра, поддържайки производителността при чести заявки – предимство, поддържащо възможността за мащабиране.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Web- градини в IIS 6.0. &lt;/b&gt;Web- градината (Web garden) е пул приложения с няколко процеса, обслужващи заявките, насочени към пула. Обработващите процеси в Web- градина могат да се конфигурират така, че да са свързани към определен набор процесори в мултипроцесорна система. Чрез Web- градини Web- приложенията подлежат на по- широко мащабиране, защото софтуерната блокировка в един процес не блокира всички заявки, отправени към приложението. Ако в една Web- градина има 4 процеса, софтуерното блокиране на един от тях блокира около четвърт от заявките.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Поддръжка на високи обеми памет от IIS 6.0. &lt;/b&gt;При обработки, изискващи голям обем кеширани данни, IIS 6.0 може да се конфигурира за кеширане на максимум 64 GB върху система с процесори x86. В добавка, ако някое приложение е с лимитиран обем памет на заявка и се нуждае от повече от 2 GB виртуална памет, функцията “Web garden” позволява на приложението да се мащабира.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Мащабиране на сайт в IIS 6.0. &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Internet Information Server 6.0 използва по- оптимално вътрешните ресурси. Системните ресурси се разпределят в отговор на HTTP- заявките, няма първоначално разпределяне на ресурси в момента на инициализация на сървъра. Това означава, че:&lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Един IIS 6.0 сървър може да обслужва по- голям брой сайтове и приложения.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;По- голям брой обработващи процеси могат да са активни едновременно.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Сървърът може да стартира и да се затваря по- бързо при обслужване на сайтове.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Допълнителна възможност за мащабиране в новата архитектура на IIS 6.0 е способността на сървъра, да “чува” заявките на голям брой приложения и сайтове, без изобщо да изпълнява обработващ процес, спомагайки по този начин за по-ефективно ползване на ресурсите на Windows Server 2003.&lt;/p&gt;&lt;a class="" name="EDE"&gt;&lt;/a&gt;
&lt;h2&gt;Защита на данните&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;Защита на информацията и сигурност&lt;/b&gt;&lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Намалена повърхност за атаки. &lt;/b&gt;Системата за защита срещу неправомерен достъп в Win-dows Server 2003 е изградена върху security- модела, интегриран в Active Directory. Новите технологии наред с подобренията в Windows Server 2003 ограничават “повърхността за атаки” и подобряват сигурността на процесите в Windows за удостоверяване и упълномощаване чрез нова архитектура за сигурност на приложенията (application security ar-chitecture). В частност, защитата срещу неправомерен достъп до код позволява на разработчиците, да обявяват кой или какво има право на достъп до определени фрагменти код. Ако някой обект опита да се обърне към конкретен фрагмент програмен код без съответни позволения, му се отказва достъп. Това на практика затваря вратите пред зловредни обекти, които биха симулирали действие на приложение, за да получат достъп до него. При такива мерки за защита, вградени и управлявани на ниво код, приложенията стават по- безопасни.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Мрежови сервизни сметки. &lt;/b&gt;В Windows Server 2003 Web- приложенията по подразбиране се зареждат в подсистема- провайдър чрез NetworkService Security Account. Тази сметка е за услуги, които не се нуждаят от разширени привилегии, а само от отдалечена комуникация с други системи. Ползването на тази сметка от подсистемата- провайдър елиминира риска от изваждане от строя на сървър или домен- контролер при излязъл от строя или компрометиран провайдър.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Политики на софтуерни ограничения. &lt;/b&gt;Политиките на софтуерни ограничения (Software Restriction Policies) адресират необходимостта от контрол на непознат или подозрителен код. С масовото навлизане на мрежите, Интернет и електронната поща в бизнеса, деловите потребители се срещат с нов софтуер при все повече обстоятелства и трябва постоянно да решават, дали да изпълняват непознат софтуер. Вируси и троянски коне често подвеждат потребителите, да ги изпълняват. С политиките на софтуерни рестрикции компютърната среда може да се защити от подозрителен софтуер чрез разпознаване и указване на позволения за изпълнение софтуер.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Принудително делегиране (Constrained delegation). &lt;/b&gt;Това е водеща технология, позволяваща контролирано делегиране на права за достъп в рамките на приложения. Чрез нея разработчиците на приложения и администраторите могат да упражняват по детайлен контрол върху приложения с високи изисквания за сигурност.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Authorization Manager. &lt;/b&gt;Нововъведение в системата за сигурност на Windows, Authorization Manager предоставя на администратори и разработчици мощни средства за управлението на почиващо върху роли упълномощаване в рамките на приложения. Чрез Authorization Man-ager администраторите могат да създават специфични за приложението групи, които лесно могат да се актуализират, ако настъпят промени в бизнес- правилата.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;a class="topOfPage" href="http://null/#top"&gt;&lt;/a&gt;&lt;a class="" name="EHF"&gt;&lt;/a&gt;
&lt;h2&gt;Внедряване и администриране&lt;/h2&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Конфигуриране на IIS 6.0 на базата на XML. &lt;/b&gt;Метабазата, съхраняваща информация за конфигурацията на IIS, вече се съхранява в текстов XML- файл, заместващ йерархичното хранилище на данни и по-достъпен за лесно обслужване и внедряване поради следните предимства:&lt;br /&gt;&lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Подобрено архивиране и възстановяване върху компютри, изпитали критични грешки. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Подобрена диагностика и възстановяване при разруха на метабазата. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Възможност за пряко редактиране на файлове на метабазата чрез прост редактор. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Експорт и импорт на конфигурацията на места, указани от потребителя.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;Подобрени производителност и мащабиране.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;IIS 6.0 предлага нови функции за общоприетите сценарии на администриране. Новата XML- метабаза улеснява администратора при прякото разчитане и редактиране на конфигурации, без да се налага писането на код или процедури за администрирането на Web- сървъра. Съществуващата информация на метабази в двоичен вид лесно може да се ъпгрейдва към новия XML- формат.&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="listBullet" class="listBullet"&gt;•&lt;/td&gt;
&lt;td class="listItem" class="listItem"&gt;
&lt;p&gt;&lt;b&gt;Windows Management Instrumentation Command-line Management (WMIC). &lt;/b&gt;&lt;br /&gt;Администраторите могат да използват тази мощна среда в режим “команден ред” за бърза и ефективна реализация на редица важни задачи. WMIC взаимодейства с налични командни интерпретатори и служебни програми от команден ред и може лесно да се разширява чрез script или други приложения за администриране. Във WMIC могат да се претърсват WMIC- схеми и да се преглеждат класовете и инстанциите им чрез псевдоними или “friendly names” - предимство, улесняващо работата. С една команда може да се работи с локален, отдалечен или с няколко компютри. Администраторите могат да разглеждат или манипулират всякаква информация, достъпна през WMI, използвайки scripts и програми в Microsoft Visual Basic®, извършващи достъп до интерфейса Scripting API for WMI.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;img src="http://aspbg.net/aggbug.aspx?PostID=16" width="1" height="1"&gt;</description><category domain="http://aspbg.net/blogs/server2003/archive/tags/Server+2003/default.aspx">Server 2003</category></item><item><title>Предстоящи версии на Visual Studio</title><link>http://aspbg.net/blogs/vsnet/archive/2008/11/27/visual-studio.aspx</link><pubDate>Thu, 27 Nov 2008 09:40:00 GMT</pubDate><guid isPermaLink="false">737d6030-114a-4c06-b358-cdec8c9eeff8:15</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Основана от програмисти, компанията Microsoft продължава да работи в услуга на разработчиците по цял свят и да им помага да жънат успехи. Още с първата си поява през 1997 година, Visual Studio помага на програмистите да се изправят пред предизвикателствата пред тях и да постигнат успех в работата си. Отделът за разработка при Microsoft продължава да отстоява тази позиция и до днес. Погледнато в перспектива, целта на Microsoft е да се развива и да посреща нуждите на програмистите и организациите, в които те работят. Със своята устременост и насоченост към създаване на продукти, които обхващат всички звена в процеса на софтуерна разработка – от ръководители на проекти до екипи по тестване, Microsoft неизменно постига своите цели – да улеснява програмистите и да им помага да изграждат иновационни решения. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Visual Studio Team System Code Name &amp;quot;Rosario&amp;quot;&lt;/b&gt; – Какво да очакваме след Visual Studio Team System 2008? Visual Studio Team System с работно име “Rosario” е интегрирано решение за управление на приложенията през целия им жизнен цикъл (Application Life Cycle Management), състоящо се от инструменти, процеси и ръководства и целящо да предложи ключови предимства за бизнеса с акцент върху качеството на разработваните продукти. Продуктът с работно име “Rosario” има за цел да допринесе за ефективното сътрудничество между бизнес организациите и членовете на екипите по разработка. &amp;quot;Rosario&amp;quot; ще осигури високоефективни и новаторски инструменти, които да предоставят високо качество на софтуерните приложения във всяка фаза от техния жизнен цикъл и ще предостави по-голяма яснота относно проектната дейност и приоритетите в нея. За повече информация, посетете &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/bb725993.aspx"&gt;Visual Studio Team System Code Name &amp;quot;Rosario&amp;quot; &lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Изследователска дейност в Microsoft&lt;/b&gt;&lt;br /&gt;Microsoft Research е изследователска организация с реалната амбиция да продължи да допринася за успеха на компаниите, чиято дейност е софтуерна разработка. Отделът по софтуерна разработка при Microsoft Research работи върху възможностите за увеличаване на производителността на разработчиците и надеждността на софтуера, в това число дизайн на програмни езици, компилатори, софтуерна спецификация и проверка, развойни среди и инструменти, тестови среди, формални модели на софтуерни системи, мониторинг и оптимизация на софтуерната производителност, подобряване на качеството на софтуера. За повече информация, посетете &lt;a href="http://research.microsoft.com/research/detail.aspx?id=3"&gt;Microsoft Research: Software Development Research Groups &lt;/a&gt;. &lt;/p&gt;&lt;img src="http://aspbg.net/aggbug.aspx?PostID=15" width="1" height="1"&gt;</description><category domain="http://aspbg.net/blogs/vsnet/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Как работи ASP.NET</title><link>http://aspbg.net/blogs/work_aspnet/archive/2008/11/27/asp-net.aspx</link><pubDate>Thu, 27 Nov 2008 09:33:00 GMT</pubDate><guid isPermaLink="false">737d6030-114a-4c06-b358-cdec8c9eeff8:14</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;b&gt;&lt;i&gt;Как работи ASP.NET&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;Основно, &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; работи като използва сървърно базирани компоненти за генериране на HTML. Изпраща се &lt;b&gt;HTML&lt;/b&gt; на клиента и се разполага в браузера му. &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; разграничава капацитета на клиентския браузер и генерира съответен за него &lt;b&gt;HTML&lt;/b&gt;. &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; работи като използва сървърно базирани компоненти за генериране на &lt;b&gt;markup&lt;/b&gt;, като &lt;b&gt;HTML&lt;/b&gt; и &lt;b&gt;скрипт&lt;/b&gt;. &lt;b&gt;HTML&lt;/b&gt; и &lt;b&gt;скрипт&lt;/b&gt; се изпращат към клиента и се разполагат в браузера. Типът на изпратения &lt;b&gt;markup&lt;/b&gt; към клиента се разграничава от контролите. Кодът &lt;b&gt;markup&lt;/b&gt; не трябва да е &lt;b&gt;HTML&lt;/b&gt;; примерно мобилните контроли пращат &lt;b&gt;WML&lt;/b&gt; към безжични устройства. &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; потребителския код (примерно кодът, който поставя текста на етикета във вашия първи проект) се прекомпилира. Това е в контраст с &lt;b&gt;ASP&lt;/b&gt;. Даже и да бяхте използвали компилирани &lt;b&gt;COM&lt;/b&gt; компоненти с &lt;b&gt;ASP&lt;/b&gt;, извикването на компонентите щеше да е късно свързване (&lt;b&gt;late&lt;/b&gt;-&lt;b&gt;bound&lt;/b&gt;). Използвайки &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; вие може да разчитате на всички възможности на .&lt;b&gt;NET&lt;/b&gt; &lt;b&gt;Framework&lt;/b&gt;, като наследяемост, сигурност и колекцията за боклук (garbage collection). Като &lt;b&gt;ASP&lt;/b&gt;, &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; може да поддържа автоматично статичен мениджмънт. &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; e разширяем спрямо &lt;b&gt;Web&lt;/b&gt; фермите, обслужвайки &lt;b&gt;IIS&lt;/b&gt; спускания и не използва бисквитки - &lt;b&gt;cookies&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- &lt;b&gt;Web страниците и кода&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Страниците, които създавате са разделени на две части: &lt;i&gt;потребителски интерфейс&lt;/i&gt; и &lt;i&gt;код&lt;/i&gt;. Можете да видите това в проект &lt;b&gt;WebAppTest&lt;/b&gt; защото имате &lt;b&gt;WebForm1&lt;/b&gt;.&lt;b&gt;aspx&lt;/b&gt; и a &lt;b&gt;WebForm1&lt;/b&gt;.&lt;b&gt;vb&lt;/b&gt;. Файлът с разширение &lt;b&gt;VB&lt;/b&gt; е клас файл, наричан &lt;i&gt;page class&lt;/i&gt;, и отделя вашия код от &lt;b&gt;HTML&lt;/b&gt;. Когато създавате страница под &lt;b&gt;VB&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt;, виждате файлове &lt;b&gt;ASPX&lt;/b&gt; и &lt;b&gt;VB&lt;/b&gt; като два изгледа на една и съща страница. Когато компилирате страницата, &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; генерира нов клас и го компилира. Този нов клас има статичен &lt;b&gt;HTML&lt;/b&gt;, &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; сървър контроли и кода на вашата форма, компилиран в него. Изпратения към клиента &lt;b&gt;HTML&lt;/b&gt; се генерира от класа на ход &lt;b&gt;(on&lt;/b&gt;-&lt;b&gt;the&lt;/b&gt;-&lt;b&gt;fly)&lt;/b&gt;. Този клас е всъщност изпълнима програма, която генерира и изпраща &lt;b&gt;HTML&lt;/b&gt; към браузера, където и да се извика страницата. В случая на нашия пример, ако погледнем изпратения &lt;b&gt;HTML&lt;/b&gt; към браузера, ще забележим, че всички контроли, които са добавени(&lt;b&gt;label&lt;/b&gt;, &lt;b&gt;form&lt;/b&gt;) са вътре в блока за формата &lt;i&gt;HTML &amp;lt;FORM&amp;gt;...&amp;lt;/FORM&amp;gt;.&lt;/i&gt; Това е така, защото &lt;b&gt;HTML&lt;/b&gt; формата е единствения начин за стандартния &lt;b&gt;HTML&lt;/b&gt; да подаде данни от &lt;b&gt;HTML&lt;/b&gt; страницата обратно към сървъра. Кода, който написахте за събитието клик върви само на сървъра. Когато някой натисне бутона, (той действа като предаващ (&lt;b&gt;submit&lt;/b&gt;) бутон, което може да видите в кода), формата се предава към сървъра. Ефектът е, че поема събитието &lt;b&gt;«клик»&lt;/b&gt; и го праща на сървъра за обработка. Генерирания клас е инстанциран и събитието &lt;b&gt;«клик»&lt;/b&gt; се обработва. Генерира се нов HTML поток и се изпраща обратно към клиентския браузер. Този нов HTML поток съдържа нов стринг за разполагане в етикета; в случая «Hello, World!». &lt;b&gt;ASP.NET&lt;/b&gt; по този начин прибавя сървър контролите към страницата.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- &lt;b&gt;Сървър контроли - Server Controls&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Една от големите крачки при създаване на &lt;b&gt;Web&lt;/b&gt; апликации в &lt;b&gt;VB&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; е идеята за &lt;b&gt;сървърконтроли&lt;/b&gt;. Ако отворите Visual Studio.NET и щракнете върху формата и след това отворите &lt;b&gt;Toolbox&lt;/b&gt;, ще видите няколко интересни панела (tabs). Eдин от тях е с етикет &lt;b&gt;HTML&lt;/b&gt;, и показва серия от &lt;b&gt;HTML&lt;/b&gt; прибавки (&lt;b&gt;tags&lt;/b&gt;). Те са просто елементи, които можете да влачите и пускате върху вашата форма и да създадете статична &lt;b&gt;HTML&lt;/b&gt; страница (&lt;b&gt;page&lt;/b&gt;); Ако сте пуснали таблица от панела &lt;b&gt;HTML&lt;/b&gt; на &lt;b&gt;Toolbox&lt;/b&gt; и след това погледнете &lt;b&gt;HTML&lt;/b&gt;, генерирал се е следния &lt;b&gt;HTML&lt;/b&gt; код:&lt;br /&gt;&lt;br /&gt;&amp;lt;TABLE cellSpacing=1 cellPadding=1 width=300 border=1&amp;gt;&lt;br /&gt;&amp;lt;TR&amp;gt;&lt;br /&gt;&amp;lt;TD&amp;gt;&lt;br /&gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;&amp;lt;TD&amp;gt;&lt;br /&gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;&amp;lt;TD&amp;gt;&lt;br /&gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;&amp;lt;/TABLE&amp;gt;&lt;br /&gt;&lt;br /&gt;Това означава, че не може да започнете да пишете &lt;b&gt;VB&lt;/b&gt; код за тази таблица, защото е само &lt;b&gt;HTML&lt;/b&gt; представяне в страницата. Въпреки че бутона и текстовата кутия, които прибавихте по-рано също са картотекирани като стандартни &lt;b&gt;HTML&lt;/b&gt; прибавки (&lt;b&gt;tags&lt;/b&gt;), те са &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; &lt;b&gt;сървър&lt;/b&gt; &lt;b&gt;контроли&lt;/b&gt;. Те действат като &lt;b&gt;контроли&lt;/b&gt;, за които може да програмирате код както във Windows формите; Вземете бутон от панела &lt;b&gt;HTML&lt;/b&gt; на &lt;b&gt;Toolbox&lt;/b&gt; и го пуснете в дизайнера. Сега кликнете в панела &lt;b&gt;Web&lt;/b&gt; &lt;b&gt;Forms&lt;/b&gt; и довлечете отново бутон от &lt;b&gt;Toolbox&lt;/b&gt;. Ако погледнете в дизайнера, двата бутона са един до друг, съвсем еднакви, само че на втория има малко &lt;b&gt;зелено&lt;/b&gt; &lt;b&gt;триъгълниче&lt;/b&gt; в горния ляв ъгъл, индикация за &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; &lt;b&gt;сървър&lt;/b&gt; &lt;b&gt;контрол&lt;/b&gt;. Ако погледнете в &lt;b&gt;HTML&lt;/b&gt;, ще видите чувствителна разлика . Ето как се появяват двата бутона в &lt;b&gt;HTML&lt;/b&gt; изглед:&lt;br /&gt;&lt;br /&gt;&amp;lt;INPUT type=button value=Button&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:Button id=Button2 runat=&amp;quot;server&amp;quot; Text=&amp;quot;Button&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/asp:Button&amp;gt;&lt;br /&gt;&lt;br /&gt;Първият бутон се извежда със стандартна &lt;i&gt;HTML &amp;lt;INPUT&amp;gt;&lt;/i&gt; прибавка (&lt;b&gt;tag&lt;/b&gt;). Вторият бутон се извежда със &lt;i&gt;&amp;lt;asp:Button&amp;gt;&lt;/i&gt; прибавка (&lt;b&gt;tag&lt;/b&gt;). Тази прибавка &lt;i&gt;&amp;lt;asp:Button&amp;gt;&lt;/i&gt; не е стандартна за &lt;b&gt;HTML&lt;/b&gt;. Когато компилатора на .NET види това, той знае, че бутона е &lt;b&gt;ASP.NET&lt;/b&gt; &lt;b&gt;сървър&lt;/b&gt; &lt;b&gt;контрол&lt;/b&gt; (&lt;b&gt;server&lt;/b&gt; &lt;b&gt;control&lt;/b&gt;). В изглед &lt;b&gt;Design&lt;/b&gt;, кликнете двукратно върху първия бутон (&lt;b&gt;HTML&lt;/b&gt; бутон). Ще излезе диалогова кутия, показана на фигура 111. Съобщението ви информира,че това е &lt;b&gt;HTML&lt;/b&gt; елемент, което значи, че не можете да пишете код за него. Кутията ви дава опция: можете да конвертирате контрола в &lt;i&gt;HTML&lt;/i&gt; &lt;i&gt;server control&lt;/i&gt;. Това е разликата между &lt;i&gt;HTML сървър контрол&lt;/i&gt; и &lt;i&gt;ASP.NET сървър контрол&lt;/i&gt;.&lt;br /&gt;&lt;em&gt;HTML сървър контролите&lt;/em&gt; са стандартни &lt;b&gt;HTML&lt;/b&gt; елементи към които Microsoft е добавил &lt;b&gt;сървърни&lt;/b&gt; (&lt;i&gt;server-side&lt;/i&gt;) програмни възможности. Когато добавяте &lt;b&gt;HTML&lt;/b&gt; eлемент, &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; вижда, че трябва да бъде генериран само текст и подаден на клиента. &lt;b&gt;HTML&lt;/b&gt; &lt;b&gt;сървър&lt;/b&gt; &lt;b&gt;контролите&lt;/b&gt; (&lt;b&gt;server&lt;/b&gt; &lt;b&gt;controls&lt;/b&gt;), от друга страна идват с програмен модел, който има всички атрибути на &lt;b&gt;HTML&lt;/b&gt; елемент на сървъра. Microsoft е направил тези контроли мощни: те могат да разбират стойности между обиколките до сървъра, могат да реагират на събития на сървъра (или опционално на клиента) и могат да бъдат свързани към източник на данни. &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; &lt;b&gt;сървър&lt;/b&gt; &lt;b&gt;контролите&lt;/b&gt; са по-абстрактни контроли и нямат отделна кореспонденция с &lt;b&gt;HTML&lt;/b&gt; &lt;b&gt;tag&lt;/b&gt;. Примерно ако погледнете в панел &lt;b&gt;Web&lt;/b&gt; &lt;b&gt;Forms&lt;/b&gt; на &lt;b&gt;Toolbox&lt;/b&gt;, ще забележите контроли като &lt;b&gt;Calendar&lt;/b&gt; (виж фигура 112) и &lt;b&gt;Repeater&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Накрая тези контроли се генерират като &lt;b&gt;HTML&lt;/b&gt;, често композирани от много &lt;b&gt;HTML&lt;/b&gt; притурки (&lt;b&gt;tags&lt;/b&gt;). Примерно календара е таблица с много редове е колони. &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; &lt;b&gt;сървър&lt;/b&gt; &lt;b&gt;контролите&lt;/b&gt; имат всички предимства на &lt;b&gt;HTML&lt;/b&gt; &lt;b&gt;сървър&lt;/b&gt; &lt;b&gt;контроли&lt;/b&gt;, но могат също да разграничават възможностите на клиентския браузер и да разгръщат повече или по-малко модерни &lt;b&gt;HTML&lt;/b&gt; в зависимост от клиента. Някои сървър контроли могат да забавят изпращането на събития към сървъра. Можете всеки елемент от страницата да го вмъкнете в &lt;b&gt;HTML&lt;/b&gt; &lt;b&gt;сървърконтрол&lt;/b&gt;. Примерно имате &lt;b&gt;heading 1&lt;/b&gt; в началото на страницата, която прокламира «Welcome to my first ASP.NET page». Превключете към &lt;b&gt;HTML&lt;/b&gt; изглед за момент и ще видите, че кода е:&lt;br /&gt;&lt;br /&gt;&amp;lt;H1 align=center&amp;gt;Welcome to my first ASP.NET page&amp;lt;/H1&amp;gt;&lt;br /&gt;Сега обратно към изглед &lt;b&gt;Design&lt;/b&gt; и маркирайте текста. Дясно кликване върху текста и избирате &lt;b&gt;Run&lt;/b&gt; &lt;b&gt;As&lt;/b&gt; &lt;b&gt;Server&lt;/b&gt; &lt;b&gt;Control&lt;/b&gt;. Сега превключете към &lt;b&gt;HTML&lt;/b&gt; изглед пак и ще видите промени:&lt;br /&gt;&lt;br /&gt;&amp;lt;H1 align=center id=H11 runat=&amp;quot;server&amp;quot;&amp;gt;Welcome to my first ASP.NET page&amp;lt;/H1&amp;gt;&lt;br /&gt;&lt;br /&gt;Макар че не изглежда като голяма промяна, че два атрибута са прибавени към tag: id=H11 и runat=&amp;quot;server&amp;quot;. Първият атрибут прави притурката (&lt;b&gt;tag&lt;/b&gt;) обект за който може да се напише код. Това е обща практика за &lt;b&gt;Dynamic&lt;/b&gt; &lt;b&gt;HTML&lt;/b&gt; (&lt;b&gt;DHTML&lt;/b&gt;). Вторият атрибут казва на &lt;b&gt;ASP&lt;/b&gt;.&lt;b&gt;NET&lt;/b&gt; , че обектния код ще върви от страната на сървъра (&lt;b&gt;server&lt;/b&gt; &lt;b&gt;side&lt;/b&gt;). Така сървърът ще обработва всяко свойство или метод или събитие на този елемент. Кликнете два пъти на втория &lt;b&gt;HTML&lt;/b&gt; сървър контрол -бутона, който добавихте. В прозореца на кода, в манипулатора на събитието &lt;b&gt;Button2_Click&lt;/b&gt;, запишете следния код:&lt;br /&gt;&lt;br /&gt;H11.InnerText = &amp;quot;It is now &amp;quot; &amp;amp; Now&lt;br /&gt;Вземете &lt;b&gt;Calendar ASP.NET&lt;/b&gt; сървър контрол от панел &lt;b&gt;Web&lt;/b&gt; &lt;b&gt;Forms&lt;/b&gt; на &lt;b&gt;Toolbox&lt;/b&gt; и го пуснете върху формата. Ако разгледате кода в изглед &lt;b&gt;HTML&lt;/b&gt; в дизайнера, ще видите, че сте добавили &amp;lt;asp:Calendar&amp;gt; tag към &lt;b&gt;HTML&lt;/b&gt;. Ако стартирате страницата и видите сорс кода в браузера, ще забележите, че календара е току що генериран като &lt;b&gt;HTML&lt;/b&gt; таблица, както показва отрязъка код по-долу:&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;Sun&lt;br /&gt;&amp;lt;/td&amp;gt;&amp;lt;td align=&amp;quot;Center&amp;quot;&amp;gt;&lt;br /&gt;Mon&lt;br /&gt;&amp;lt;/td&amp;gt;&amp;lt;td align=&amp;quot;Center&amp;quot;&amp;gt;&lt;br /&gt;Tue&lt;br /&gt;&amp;lt;/td&amp;gt;&amp;lt;td align=&amp;quot;Center&amp;quot;&amp;gt;&lt;br /&gt;Wed&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Малко код JavaScript от клиентската страна (&lt;b&gt;client&lt;/b&gt;-&lt;b&gt;side&lt;/b&gt;) е смесен, защото &lt;b&gt;ASP.NET&lt;/b&gt; се грижи браузера да може да обработи кода.&lt;br /&gt;&lt;/div&gt;&lt;img src="http://aspbg.net/aggbug.aspx?PostID=14" width="1" height="1"&gt;</description><category domain="http://aspbg.net/blogs/work_aspnet/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Добре дошли в ASP.NET общността!</title><link>http://aspbg.net/blogs/sample_weblog/archive/2008/11/24/My-First-Post.aspx</link><pubDate>Mon, 24 Nov 2008 19:52:00 GMT</pubDate><guid isPermaLink="false">737d6030-114a-4c06-b358-cdec8c9eeff8:2</guid><dc:creator>admin</dc:creator><slash:comments>1</slash:comments><description>&lt;div id="result_box" style="TEXT-ALIGN:left;"&gt;Уеблог (блог) е онлайн списание, можете да използвате да споделят мисли, идеи, проектно състояние, или нещо друго, което искате. Блогът ще&amp;nbsp;Ви позволи да бъде сътрудник, а не просто зрител. &lt;br /&gt;&lt;br /&gt;Публикациите са подредени по хронологичен ред и могат да се класифицират в зависимост от това как е конфигуриран администратора на системата. Можете да разгледате пост, като щракнете върху заглавието на началната страница, където всички потребители постове са колективно показани. След преглеждане на блога можете да прочетете различни мнения от това лице или предоставени коментари по публикациите. &lt;br /&gt;&lt;br /&gt;Създаване на нови&amp;nbsp;съобщения е бързо и лесно. Ако имате възможността да публикувате че трябва да видите връзка (обикновено в лявата) върху вашия уеб блога на началната страница: нов пост. Ако кликнете върху тази връзка ще ви отведе в своите блогове администрация страници за създаването на нови работни места. &lt;br /&gt;&lt;br /&gt;Ако нямате възможност да публикувате, свържете се с администратора на сайта&amp;nbsp;да си&amp;nbsp;поискате свой собствен блог. &lt;br /&gt;&lt;br /&gt;Честит Блог!&lt;/div&gt;&lt;img src="http://aspbg.net/aggbug.aspx?PostID=2" width="1" height="1"&gt;</description><category domain="http://aspbg.net/blogs/sample_weblog/archive/tags/_21044A04370434043004320430043D043504_+_3D043004_+_31043B043E043304_/default.aspx">Създаване на блог</category></item></channel></rss>