Для заработка в интернет появился очередной сервис. Сначала размещался на Zhlobam.net а потом плано перешел на Bez-Obid.Ru. Суть в том, что одни люди размещают на этом сайте жалобы, а люди, кототрые хотят заработать берут специально подготовленные ссылки на жалобы и постят и где-попало: на сайтах, форума, блогах. За каждый уникальны клик (Uniq) сайт начисляет 0.5 цента на счет партнера. Минимальная сумма к выводу $20.
Я тоже (в моем то возрасте!) повелся на эту фигню. Решил заработать двадцатку на пиво. Сначала вроде бы все шло неплохо были клики и около 80% из них были "уники". Но постепенно, в течении месяца процент "уников" уменьшался и дошло вообше до смешного. Смотрите скриншот:
В общем, такими темпами $20, которые можно вывести себе на кошелек, соберутся только к старости.
Люди! Не ведитесь на этот лохотрон: Bez-Obid.Ru обманывают жестко и нагло.
Bez-Obid.Ru - кидалово очередное.
Жаль потраченного времени. Ну что-ж будет наука на будущее. Надеюсь мой опыт Вам поможет :)
среда, 29 октября 2008 г.
Как динамически сменить запрос для ListView привязанного к LinqDataSource?
Для того чтобы динамически сменить запрос для ListView привязанному к LinqDataSource нужно обработать событие OnSelecting у LinqDataSource.
Например вот так:
Посмотреть как это работает можно здесь: сайт а-класса
Например вот так:
protected void dsMates_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
if (Request.Params["classMateId"] != null)
{
int mateId;
if (int.TryParse(Request.Params["classMateId"], out mateId))
{
using (DataClassesPrivateMsgDataContext db = new DataClassesPrivateMsgDataContext())
{
e.Result = db.Classmates.Where(mate => mate.Id == mateId).FirstOrDefault();
}
}
}
}
Посмотреть как это работает можно здесь: сайт а-класса
Ярлыки:
.NET framework 3.5,
запрос,
ASP.NET,
C#,
code,
LinqDataSource,
ListView,
OnSelecting,
Query
вторник, 28 октября 2008 г.
Локализанция CalendarExtender в DotNetNuke
Классная все-таки штука AjaxControlToolkit: щелкнул 2 раза, и у тебя уже календарь на веб-страничке. Кинул себе календарь на форму в своем новом dotnetnuke модуле, немного насторил свойства и зашибись работает. Правда почему-то название месяцев по английски пишет, хотя должен настройки брать из браузера.
Оказалось в DNN как всегда свои заморочки, особенно с AJAX-ом. Чтобы исправить это пишем в модуле так:
И, вуаля: названия дней недели и месяцев в CalendarExtender отображаются по-русски.
Оказалось в DNN как всегда свои заморочки, особенно с AJAX-ом. Чтобы исправить это пишем в модуле так:
protected void Page_Init(object sender, EventArgs e)
{
if (DotNetNuke.Framework.AJAX.IsInstalled())
{
DotNetNuke.Framework.AJAX.RegisterScriptManager();
DotNetNuke.Framework.AJAX.SetScriptManagerProperty(Page, "EnableScriptGlobalization", new object[] { true });
DotNetNuke.Framework.AJAX.SetScriptManagerProperty(Page, "EnableScriptLocalization", new object[] { true });
}
}
И, вуаля: названия дней недели и месяцев в CalendarExtender отображаются по-русски.
вторник, 21 октября 2008 г.
Проблема с ModalPopupExtender в DotNetNuke (DNN) : ModalPopupExtender в Internet Explorer отображается не по центру экрана, а слева вверху
Захотелось мне сделать на AJAX красивые Popup-окошки в одном из разрабатываемых сайтов, чтобы пользователя чувствовали себя как-будто они не на веб-старнице, а в настольном приложении. Сказано - сделано. Используя ModalPopupExtender это проще простого.
Как обычно тестирую в 3-х браузерах: Opera, Internet Explorer и FireFox.
В "Опере" и FireFox-е все работет хорошо, а вот в Internet Explorer-е ModalPopupExtender отображает попап-окно не по центру окна браузера, а слева вверху, причем центр этого окна находится в точке с коодинатами x=0, y=0.
Такое положение дел меня явно не устраивало. Начал поиски причины и решения. Сайт я начал разрабатывать на DNN версии 4.8.4, но потом вышла версия 4.9 и модули (как и сам dotnetnuke) также тестировались на новой версии. Так вот я заметил, что на DNN 4.8.4 вышеописанная проблема наблюдалась, а на DNN 4.9 уже нет!
Оказалось, что причина была в том, что сайт на DNN версии 4.8.4 рендерится браузерами в Quirks mode, благодаря вот этому:
А вот если посмотреть на страницы сгенерированную DNN 4.9 видим:
И теперь уже браузеры рендерят станицы в Standarts Compilance Mode (Режим соответствия стандартам). Это радует. Наконец-то и dotnetnuke начинает пытаться соответствовать стандартам. Насколько было бы легче программистам, если бы все последовали их примеру:)
Итак, как говорят в Голливуде : Problem solved. Хочу еще заметить: остерегайтесь установки скинов на свой сайт, так как после этого он, возможно, будет работать не совсе так как он работал до этого:)
Напомню, что прежде, чем использовать у себя в модуле ModalPopupExtender из набора AjaxControlToolkit, необходимо добавить следующую строку в .ascx файле Вашего модуля.
Кроме того, чтобы AJAX работал в Вашем модуле, нужно в DotNetNuke-освском сайте установить галочку "Supports Partial Rendering?" для Ваших user-контролов, в которых используется AJAX.
Как обычно тестирую в 3-х браузерах: Opera, Internet Explorer и FireFox.
В "Опере" и FireFox-е все работет хорошо, а вот в Internet Explorer-е ModalPopupExtender отображает попап-окно не по центру окна браузера, а слева вверху, причем центр этого окна находится в точке с коодинатами x=0, y=0.
Такое положение дел меня явно не устраивало. Начал поиски причины и решения. Сайт я начал разрабатывать на DNN версии 4.8.4, но потом вышла версия 4.9 и модули (как и сам dotnetnuke) также тестировались на новой версии. Так вот я заметил, что на DNN 4.8.4 вышеописанная проблема наблюдалась, а на DNN 4.9 уже нет!
Оказалось, что причина была в том, что сайт на DNN версии 4.8.4 рендерится браузерами в Quirks mode, благодаря вот этому:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
А вот если посмотреть на страницы сгенерированную DNN 4.9 видим:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
И теперь уже браузеры рендерят станицы в Standarts Compilance Mode (Режим соответствия стандартам). Это радует. Наконец-то и dotnetnuke начинает пытаться соответствовать стандартам. Насколько было бы легче программистам, если бы все последовали их примеру:)
Итак, как говорят в Голливуде : Problem solved. Хочу еще заметить: остерегайтесь установки скинов на свой сайт, так как после этого он, возможно, будет работать не совсе так как он работал до этого:)
Напомню, что прежде, чем использовать у себя в модуле ModalPopupExtender из набора AjaxControlToolkit, необходимо добавить следующую строку в .ascx файле Вашего модуля.
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
Кроме того, чтобы AJAX работал в Вашем модуле, нужно в DotNetNuke-освском сайте установить галочку "Supports Partial Rendering?" для Ваших user-контролов, в которых используется AJAX.
Форматтер C# JavaScript HTML ASP.NET кода для вашего блога
Так как мне часто приходится выкладывать на своем блоге код на C#, javaScript, HTML, то хотелось, чтобы он был красиво и главное удобно для чтения оформлен. Поэтому я пользуюсь для этого бесплатным онлайн сервисом, который находится здесь:
www.manoli.net/csharpformat/format.aspx
Рекомендую всем!
www.manoli.net/csharpformat/format.aspx
Рекомендую всем!
Ярлыки:
блог,
код,
программирование,
форматирование,
blog,
C#,
code,
formatter,
HTML,
javaScript
вторник, 14 октября 2008 г.
каталог сайтов, на которых можно разместить ссылку на свой блог
Полезная подборка: "41 место, куда можете засунуть свой блог"
лежит здесь: www.ithorn.ru/2007/10/27/promote-your-rss/
лежит здесь: www.ithorn.ru/2007/10/27/promote-your-rss/
пятница, 10 октября 2008 г.
анимированные gif - файлы загрузки для AJAX
Есть классниый сайт на котором в онлайне можно получить анимированную gif-ку для AJAX лоадера. Есть много шаблонов, можно выбрать цвета, размер. Сайт: ajaxload.info. Я на своем сайте одноклассников 11-А класса уже использую несколько таких.
Для пользователей "Оперы" с сайта "Оперы" можно скачать виджет "Animated loading image generator!", и тогда можно будет генерить gif-ку не выходя со своего любимого сайта одноклассников 11-А класса :)
Для пользователей "Оперы" с сайта "Оперы" можно скачать виджет "Animated loading image generator!", и тогда можно будет генерить gif-ку не выходя со своего любимого сайта одноклассников 11-А класса :)
среда, 8 октября 2008 г.
Как поставить счетчик liveinternet.ru в блоге
Решил поставить себе в блог счетчик посещений liveinternet.ru. Зарегистрировался, получил код. Добавил в блог гаджет text/html, впихнул туда код счетчика. Смотрю на блог, а он выдает ошибки в javascript. Открываю снова гаджет, и вижу что код счетчика автоматически был изменен (заменнены кое какие кавычки) и естественно не работает.
Ладно, прописываю код уже в шаблоне в самом html. При попытке сохранить шаблон выскакивает ошибка:
Не удалось проанализировать ваш шаблон, так как он неправильно сформирован. Убедитесь, что все элементы XML правильно закрыты.
Сообщение об ошибке в XML: Open quote is expected for attribute "{1}"
Понятно, liveinternet до сих пор с xml-ем не дружит. И не только с xml, а и вообще со стандартами Веба. А на дворе то 21-й век.
Черт с ним, с этим "живым интернетом". Пойдем к "Гуглу", любителю стандартов. Здесь: www.google.com/analytics регистрируюсь, получаю код, копирую его в шаблон блога. И все работает.
Возникает вопрос: почему liveinternet.ru до сих пор не переделал код своего счетчика? Ведь такого рода компании должны быть впереди всех остальных?
P.S. На одном блогспотовском блоге заметил стоЯщий и работающий счетчик liveinternet. То есть это возможно. Посмотрел HTML код и вижу, что код работающего счетчина разделен на несколько строк, а я в своих пробах установки всегда пробовал всунуть "вытянутый в одну строку". Что ж попытка - непытка: беру код многострочный и пихаю в гаджет text/html. И... работает. В чем фишка - не понял, и нет времени разбираться. Главное, что работает:)
Ладно, прописываю код уже в шаблоне в самом html. При попытке сохранить шаблон выскакивает ошибка:
Не удалось проанализировать ваш шаблон, так как он неправильно сформирован. Убедитесь, что все элементы XML правильно закрыты.
Сообщение об ошибке в XML: Open quote is expected for attribute "{1}"
Понятно, liveinternet до сих пор с xml-ем не дружит. И не только с xml, а и вообще со стандартами Веба. А на дворе то 21-й век.
Черт с ним, с этим "живым интернетом". Пойдем к "Гуглу", любителю стандартов. Здесь: www.google.com/analytics регистрируюсь, получаю код, копирую его в шаблон блога. И все работает.
Возникает вопрос: почему liveinternet.ru до сих пор не переделал код своего счетчика? Ведь такого рода компании должны быть впереди всех остальных?
P.S. На одном блогспотовском блоге заметил стоЯщий и работающий счетчик liveinternet. То есть это возможно. Посмотрел HTML код и вижу, что код работающего счетчина разделен на несколько строк, а я в своих пробах установки всегда пробовал всунуть "вытянутый в одну строку". Что ж попытка - непытка: беру код многострочный и пихаю в гаджет text/html. И... работает. В чем фишка - не понял, и нет времени разбираться. Главное, что работает:)
Ярлыки:
блог,
посещение,
счетчик,
Analytics,
blog,
blogger.com,
Google,
liveinternet.ru,
xml
В сайте сделанном на Dotnetnuke постоянно пересоздается домен приложения: "The AppDomain shut down because of the hosting environment."
Создал сайт с использованием CMS DotNetNuke. На моей девелоперской машине он работал очень даже шустро. После размещения на американском хостинге заметил, что страницы, особенно первая, открываются очень долго. Смотрю журнал сайта и вижу, что домен приложения (appDomain) пересоздается несколько раз в минуту. Идут последовательные записи:
Application Shutting Down. Shutdown Details: The AppDomain shut down because of the hosting environment.
Application Started.
Пересоздание домена приложения операция не быстрая, она и приводит к уменьшению производительности сайта (медленной загрузке страниц).
Так как я не не делал никаких изменений в файлах (в т.ч. конфигурационнных) веб-приложения, а также во вложенных папках проекта, возник вопрос: почему и как с этим бороться?
Имея опыт работы с хостерами знаю, что бывает на хостинге, в борьбе за ресурсы, выставяют в конфигах время жизни сессии очень маленькое (sessionState.Timeout). Пишу приложение и проверяю: да, действительно сессия живет не более 10-ти секунд. Пишу письмо в саппорт с просьбой увеличить до 30-ти минут. Сделали.
Теперь вижу, что appDomain уже не умирает так часто, как раньше. Теперь это повторяется раз в 15-20 минут. Так как сайт еще никто не посещает и зная, что домен приложения может уничтожаться при неактивности, пишу windows-службу, которая с интервалом 5 минут делает HTTP GET запрос к сайту . Результат: AppDomain практически не пересоздается. Проблема решена.
Application Shutting Down. Shutdown Details: The AppDomain shut down because of the hosting environment.
Application Started.
Пересоздание домена приложения операция не быстрая, она и приводит к уменьшению производительности сайта (медленной загрузке страниц).
Так как я не не делал никаких изменений в файлах (в т.ч. конфигурационнных) веб-приложения, а также во вложенных папках проекта, возник вопрос: почему и как с этим бороться?
Имея опыт работы с хостерами знаю, что бывает на хостинге, в борьбе за ресурсы, выставяют в конфигах время жизни сессии очень маленькое (sessionState.Timeout). Пишу приложение и проверяю: да, действительно сессия живет не более 10-ти секунд. Пишу письмо в саппорт с просьбой увеличить до 30-ти минут. Сделали.
Теперь вижу, что appDomain уже не умирает так часто, как раньше. Теперь это повторяется раз в 15-20 минут. Так как сайт еще никто не посещает и зная, что домен приложения может уничтожаться при неактивности, пишу windows-службу, которая с интервалом 5 минут делает HTTP GET запрос к сайту . Результат: AppDomain практически не пересоздается. Проблема решена.
Подписаться на:
Сообщения (Atom)