Существует распространенное мнение, что приложения на ASP.NET WebForms очень медленные, тяжеловесные, подходят только для корпоративных порталов и в основном работают в интрасетях. Однако есть несколько способов существенно повысить скорость работы вашего приложения. Большинство этих способов не новы, применяются многими разработчиками. Здесь мы собрали те из них, которые хорошо себя зарекомендовали при разработке движка AdVantShop.NET Ultimate. Читать полностью »
Метка «ASP.NET» - 6
Несколько способов ускорить приложение на ASP.NET WebForms
2012-10-25 в 6:31, admin, рубрики: .net, AdvantShop, ASP.NET, webforms, Блог компании AdVantShop.NET, метки: AdvantShop, ASP.NET, webformsВышел Bundle Transformer 1.6.5
2012-10-12 в 17:42, admin, рубрики: .net, ASP, ASP.NET, asp.net mvc, Bundle Transformer, Bundling and Minification, css, CSS Optimizer, CSSO, javascript, Microsoft Ajax Minifier, System.Web.Optimization, TypeScript, YUI Compressor, Клиентская оптимизация, метки: ASP.NET, asp.net mvc, Bundle Transformer, Bundling and Minification, css, CSS Optimizer, CSSO, javascript, Microsoft Ajax Minifier, System.Web.Optimization, TypeScript, YUI Compressor, клиентская оптимизация
Основным нововведением в новой версии Bundle Transformer стала поддержка языка TypeScript. Кроме того, были внесены изменения в ядро продукта и в следующие модули: BundleTransformer.MicrosoftAjax, BundleTransformer.Yui и BundleTransformer.Csso.
Рассмотрим основные нововведения данной версии:
Читать полностью »
Введение в работу с AppHarbor — облако для ASP.NET приложений
2012-10-10 в 4:44, admin, рубрики: .net, ASP, ASP.NET, Git, Облачные вычисления, метки: ASP.NET, GitКаждый из вас наверняка хочет видеть свое приложение на просторах сети Интернет. Сколько раз мы спрашивали у Google, Яндекса, Bing и других: «Бесплатный хостинг ASP.NET». Иногда чтобы показать прототип потенциальному клиенту, обсудить проект или просто похвастаться перед девушкой, мол, вот что я сделал. Зачастую для этого надо найти хостинг, но это требует определенного количества времени, сил и денег. Альтернатива проста – поместить приложение «облако». Причем сделать это действительно проще чем кажется т.к. есть такой замечательный сервис AppHarbor. На нем можно размещать свои ASP.NET приложения, подключить базу, поиск, кэш и многое другое, список смотреть тут. Делается это, как вы увидите, довольно просто и не требует каких-то особых знаний, т..е. всю нагрузку на работу железа и ПО для работы вашего сайта берет на себя AppHarbor. Кстати, про бесплатность. Я немного слукавил, это все счастье бесплатно, но только до какого-то момента предельного роста вашего проекта ну и если вы хотите использовать какие-то платные дополнения. Т.е. прототип вы разместите, но если нужен хостинг для большого проекта придется раскошелиться, но думаю, к тому времени у вас уже будет более четкое видение развития вашего проекта. Если все же вам понравится, то прошу смотреть цены. Для меня AppHarbor является полигоном для испытаний, но чем больше я им пользуюсь, тем больше мне нравится.
Подключение проекта ASP.NET MVC к проекту ASP.NET WebForms
2012-10-03 в 15:29, admin, рубрики: .net, ASP, ASP.NET, asp.net mvc 4, asp.net webforms, razor, метки: ASP.NET, asp.net mvc 4, asp.net webforms, c++, razorЗачем это может понадобится? Допустим у нас есть большое приложение ASP.NET WebForms и есть проект написанный на ASP.NET MVC и мы хотим их объеденить.
Допустим адрес нашего сайта такой: www.my-awesome-site.com и мы хотим чтобы MVC был доступен по адресу www.my-awesome-site.com/mvc-stuff
Предусловия: у нас есть решение с двумя проектами — ASP.NET Web Application (WebFormsApplication) и ASP.NET MVC проект (MvcApplication).
Что нужно сделать.
1. Установить ASP.NET MVC для WebFormsApplication
2. Добавить ссылку в WebFormsApplication на MvcApplication
3. Добавить публичный метод в MvcApplication аналогичный Application_Start
4. Вызвать этот метод в Application_Start приложения WebFormsApplication
5. С помощью Razor Generator включить Views в сборку MvcApplication
4.…
5. Profit!!!
Нестандартное использование Protected Configuration Provider в проектах ASP.NET Web Forms
2012-09-27 в 12:35, admin, рубрики: .net, ASP, ASP.NET, web.config, Песочница, метки: ASP.NET, web.configСегодня я хотел бы рассказать об одной интересной, на мой взгляд, возможности, которую можно получить от Protected Configuration Provider.
Итак, что такое Protected Configuration Provider? Это класс, который позволяет производить шифрование и дешифрование содержимого определённых секций файла конфигурации web.config. Обычно это используется при развёртывании готового проекта на хостинге для защиты конфиденциальной информации — имена пользователей, пароли, строки подключения к базе данных, ключи шифрования, etc…
Читать полностью »
Вышел Bundle Transformer 1.6.2 или что изменилось за полгода?
2012-09-23 в 19:49, admin, рубрики: .net, ASP, ASP.NET, asp.net mvc, Bundle Transformer, Bundling and Minification, coffeescript, css, CSS Optimizer, CSSO, Google Closure Compiler, javascript, JSMin, less, Packer, System.Web.Optimization, UglifyJS, WebGrease, Клиентская оптимизация, метки: ASP.NET, asp.net mvc, Bundle Transformer, Bundling and Minification, coffeescript, css, CSS Optimizer, CSSO, Google Closure Compiler, javascript, JSMin, less, Packer, System.Web.Optimization, UglifyJS, WebGrease, клиентская оптимизация
Bundle Transformer – это разработанное мной модульное расширение для Microsoft ASP.NET Web Optimization Framework (другие названия: ASP.NET Bundling and Minification, System.Web.Optimization, Microsoft.Web.Optimization и ASP.NET Optimization – Bundling). В апреле этого года я уже делал подробный обзор возможностей Bundle Transformer, но за это время данный продукт очень сильно изменился. Поэтому я решил написать данный обзор и рассказать об основных изменениях, которые произошли в Bundle Transformer за прошедшие полгода.
Читать полностью »
Модуль кэширования ASP.NET приложений
2012-09-03 в 12:14, admin, рубрики: .net, ASP.NET, caching, метки: .net, ASP.NET, c++, caching При работе над большим, высоконагруженным проектом часто возникает необходимость кэширования ряда страниц. Это помогает уменьшить нагрузку, избавив от повторного выполнения страниц и, как следствие, повторной загрузки данных. Так же необходимым условием является возможность проверки валидности кэша по определенному условию или набору условий. В принципе, задача выглядит стандартной, но, как мы увидим далее, решение ее далеко не тривиальное.
Читать полностью »
Создание Windows Azure Virtual Machine для хостинга web-приложений
2012-08-23 в 6:58, admin, рубрики: ASP.NET, azure, microsoft, windows azure, Облачные вычисления, метки: ASP.NET, azure, microsoft, windows azure
Добрый день!
В своей предыдущей статье я рассказывал о том, как можно легко и просто опубликовать веб-приложение, написанное на ASP.NET MVC 4 в новом сервисе Windows Azure Web Sites.
В сегодняшней статье я постараюсь рассказать, как можно расширить границы использования Azure на примере создания в нем виртуальной машины и хостинга на ней веб-приложения.
Шаг 0. Получения доступа.
Для тех, кто поленился перейти по ссылке в начале статьи, я напомню, как можно получить бесплатный доступ к новым возможностям Windows Azure.
Для начала вам надо зарегистрироваться на 90-дневный триал, после чего добавить к своей подписке новые preview-функции (как раз те самые, о которых идет речь). Делается это на странице Предварительный просмотр компонентов, где можно выбрать то, что вы хотите попробовать. В данном случае выбираем Virtual Machine.
Читать полностью »
Использование Dynamic Data совместно с Entity Framework 5
2012-08-22 в 12:55, admin, рубрики: .net, ASP, ASP.NET, entity framework, метки: ASP.NET, entity framework
Добрый день!
Как известно, уже вышла релиз-версия .NET Framework 4.5, а также стала доступна для загрузки финальная версия Visual Studio 2012.
Познакомиться с новой Visual Studio я успел еще с beta версии, а после релиза начал использовать rtm релиз Visual Studio и .NET Framework 4.5 в реальной работе.
В новую версию .NET Framework входит так же новая версия Entity Frameowrk. Уже пятая. Точнее она туда не совсем входит — у меня при создании проекта файлы подгружаются из репозитория NuGet. Но в любом случае в новом проекте используется именно 5 версия библиотеки.
Прежде чем продолжить, хочу вкратце рассказать, что же нового появилось в EF5 и почему я решил начать использовать эту версию.
Читать полностью »
Скрипт транслитерации строки из кириллицы в латиницу на JavaScript с применением прототипа
2012-08-05 в 16:49, admin, рубрики: ASP.NET, html, javascript, translit, Веб-разработка, скрипт, транслитерация, метки: ASP.NET, html, javascript, translit, скрипт, транслитерация Задача: при вводе текста в одном текстовом поле («Title») нужно выводить его транслитерованное значение в другом («UserKey»), при этом в транслите допускаются только латинские буквы, цифры и тире.
Пример HTML с двумя полями:
<input id="Title" name="Title" value="" type="text" />
<input id="UserKey" name="UserKey" value="" type="text" />
Для включения транслитерации добавим следующий javascript-код на страницу:
String.prototype.translit = (function () {
var L = {
'А': 'A', 'а': 'a', 'Б': 'B', 'б': 'b', 'В': 'V', 'в': 'v', 'Г': 'G', 'г': 'g',
'Д': 'D', 'д': 'd', 'Е': 'E', 'е': 'e', 'Ё': 'Yo', 'ё': 'yo', 'Ж': 'Zh', 'ж': 'zh',
'З': 'Z', 'з': 'z', 'И': 'I', 'и': 'i', 'Й': 'Y', 'й': 'y', 'К': 'K', 'к': 'k',
'Л': 'L', 'л': 'l', 'М': 'M', 'м': 'm', 'Н': 'N', 'н': 'n', 'О': 'O', 'о': 'o',
'П': 'P', 'п': 'p', 'Р': 'R', 'р': 'r', 'С': 'S', 'с': 's', 'Т': 'T', 'т': 't',
'У': 'U', 'у': 'u', 'Ф': 'F', 'ф': 'f', 'Х': 'Kh', 'х': 'kh', 'Ц': 'Ts', 'ц': 'ts',
'Ч': 'Ch', 'ч': 'ch', 'Ш': 'Sh', 'ш': 'sh', 'Щ': 'Sch', 'щ': 'sch', 'Ъ': '', 'ъ': '',
'Ы': 'Y', 'ы': 'y', 'Ь': "", 'ь': "", 'Э': 'E', 'э': 'e', 'Ю': 'Yu', 'ю': 'yu',
'Я': 'Ya', 'я': 'ya', ' ': '-', '_': '-',
'"': '', "'": '', '.': '', ',': '', '!': '', ':': '', ';': ''
},
r = '',
k;
for (k in L) r += k;
r = new RegExp('[' + r + ']', 'g');
k = function (a) {
return a in L ? L[a] : '';
};
return function () {
var text_string = this.replace(r, k).replace(' ', '-').toString();
var literals = 'QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm-0123456789';
var newString = '';
for (var i = 0; i < text_string.length; i++) {
if (!(literals.indexOf(text_string.charAt(i)) == -1)) {
newString += text_string.charAt(i);
};
};
return newString;
};
})();