Возможность хранения правил редиректа за пределами web.config

by AigizK 17. января 2011 07:31

Можно хранить правила как в базе,так и в файле 

http://learn.iis.net/page.aspx/803/using-custom-rewrite-providers-with-url-rewrite-module/

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Получение ContentType по содержимому и расширение файла

by AigizK 28. декабря 2010 04:39
[DllImport(@"urlmon.dll", CharSet = CharSet.Auto)]
        private extern static System.UInt32 FindMimeFromData(
            System.UInt32 pBC,
            [MarshalAs(UnmanagedType.LPStr)] System.String pwzUrl,
            [MarshalAs(UnmanagedType.LPArray)] byte[] pBuffer,
            System.UInt32 cbSize,
            [MarshalAs(UnmanagedType.LPStr)] System.String pwzMimeProposed,
            System.UInt32 dwMimeFlags,
            out System.UInt32 ppwzMimeOut,
            System.UInt32 dwReserverd
        );

        /// <summary>
        /// возвращает Content Type
        /// </summary>
        /// <param name="filename"></param>
        /// <returns></returns>
        public static string GetMimeFromFile(string filename)
        {
            if (!File.Exists(filename))
                throw new FileNotFoundException(filename + " not found");

            byte[] buffer = new byte[256];
            using (FileStream fs = new FileStream(filename, FileMode.Open))
            {
                if (fs.Length >= 256)
                    fs.Read(buffer, 0, 256);
                else
                    fs.Read(buffer, 0, (int)fs.Length);
            }
            try
            {
                System.UInt32 mimetype;
                FindMimeFromData(0, null, buffer, 256, null, 0, out mimetype, 0);
                System.IntPtr mimeTypePtr = new IntPtr(mimetype);
                string mime = Marshal.PtrToStringUni(mimeTypePtr);
                Marshal.FreeCoTaskMem(mimeTypePtr);
                return mime;
            }
            catch (Exception e)
            {
                return "unknown/unknown";
            }
        }

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

.NET

Кодировка текста средствами JavaScript

by AigizK 28. декабря 2010 04:32

Если надо передать русский текст через URL, то можно применить этот скрипт, чтоб буквы нормально отображались:

function Encoding(inputString) {

var encodedInputString = escape(inputString);

encodedInputString = encodedInputString.replace("+", "%2B");

encodedInputString = encodedInputString.replace("/", "%2F");

return encodedInputString;

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Профилирование с помощью VS2010

by AigizK 18. ноября 2010 03:55

В VS2010 появилась возможность профилировать код. Как по мне, он не очень удобен, по крайней мере ANTS Profiler более наглядно все это показывает, но возможностей у этого профайлера очень большие. Более детально про профайлер можно увидит здесь http://www.techdays.ru/videos/2708.html и здесь http://www.techdays.ru/videos/2722.html

Но есть еще одна возможность, которую надо выделить - это возможность просматривать запросы к базе данных, чего ANTS не может предоставить. Более подробнее можно почитать здесь http://blogs.msdn.com/b/habibh/archive/2009/06/30/walkthrough-using-the-tier-interaction-profiler-in-visual-studio-team-system-2010.aspx или погуглить по "visual studio Tier Interaction"

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Fix Common SEO Problems Using the URL Rewrite Extension

by AigizK 3. октября 2010 13:12

Тут у  Скотта Гатри есть статья, как с помощью URL REWRETING решить большинство проблем SEO:

http://weblogs.asp.net/scottgu/archive/2010/04/20/tip-trick-fix-common-seo-problems-using-the-url-rewrite-extension.aspx 

и еще 

Набор инструментов для поисковой оптимизации IIS

http://blogs.msdn.com/b/ruscottgu/archive/2009/06/03/iis.aspx 

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Рекурсивный SQL запрос

by AigizK 17. сентября 2010 03:50

С помощью SQL запроса легко можно получать дочерние или родительские разделы текущего раздела.Для этого надо составить рекурсивный запрос примерно следующим образом:

with Tree(SectionId) as
(
select SectionId from Sections where SectionId=@sectionId
union all
select s.SectionId from Sections s
inner join Tree t on s.ParentId=t.SectionId
)

SELECT *
FROM Tree

  Этот запрос вернет все ИД дочерних разделов и ИД искомого раздела.

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Удобный способ просмотра картинок

by AigizK 13. сентября 2010 09:04

http://studioad.ru/blog/2010-02-11-105

iLoad это кроссбраузерная галерея для просмотра изображений на ваших сайтах. Она написана на javascript и не требует для своей работы подключения каких либо сторонних фреймворков наподобие JQuery или Prototype. Скачать последнюю версию iLoad можно на странице по этой ссылке: скачать свежую версию iLoad3.

Синтаксис очень простой:

L(["http://studioad.ru/iload/1b.jpg"]) - открывает картинку

L(["http://studioad.ru/iload/1b.jpg::Лист","http://studioad.ru/iload/2b.jpg::Веточка::И капли..."],"Природа",1)  - открывает картинку и можно листать и смотреть другие картинки с этой же галереи(в данном случае это галерея с именем Природа)

Текущий рейтинг: 5.0 (1 голосов)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Как получить рандомно записи с помощью LINQ из базы

by AigizK 25. июня 2010 06:56

Стоит задача, из таблицы достать 10 записей в случайном порядке через LINQ. Хорошее решение предложили на сайте http://www.itmodus.ru/articles/42 

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

.NET

Facebook SDK

by AigizK 5. июня 2010 19:33

Microsoft  выпустила клиентскую библиотеку Facebook, которая упрощает написание некоторых интересных приложений. В SDK содержится несколько базовых DLL, каждая из которых имеет свое предназначение. Вы можете загрузить SDK отсюда.

  • Facebook.dll Основная сборка, используемая всеми приложениями. В ней заключена вся логика для взаимодействия с приложением Facebook. В этой сборке также имеется специфическая поддержка XAML-приложений (Silverlight и WPF), что упрощает связывание с данными и кеширование на платформе Facebook.
  • Facebook.Silverlight.dll Silverlight-версия основной сборки, используемая всеми приложениями Silverlight. В ней также содержится вся логика для взаимодействия с приложением Facebook и тоже имеется специфическая поддержка XAML-приложений для расширения платформы Facebook с целью упрощения связывания с данными и кеширования. REST API в этой сборке работает только в асинхронном режиме.
  • Facebook.Web.dll Эту сборку должны использовать приложения Canvas. Она инкапсулирует весь процесс установления связи между приложениями Facebook и Canvas (на основе FBML или IFrame).
  • Facebook.Web.Mvc.dll Поддерживает приложения Canvas с применением ASP.NET MVC. Отделена от Facebook.Web.dll специально, чтобы не заставлять всех разработчиков устанавливать ту часть, которая относится к MVC.
  • Facebook.Winforms.dll Поддерживает написание приложений Facebook с применением технологии Windows Forms (Winforms). Предоставляет компонент, обертывающий API, что облегчает использование этой сборки из Winforms. Также содержит некоторые пользовательские элементы управления, упрощающие отображение данных Facebook.
 
 

Текущий рейтинг: 5.0 (2 голосов)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

facebook

An invalid character was found in the mail header

by AigizK 27. марта 2010 12:43

Если при скачивание с вашего сайта файлов с русскими названиями возникает такая ошибка "An invalid character was found in the mail header" то проблему можно решить следующим способом:

public static string GetCleanedFileName(string s) 

{    

    char[] chars = s.ToCharArray(); 

    StringBuilder sb = new StringBuilder(); 

 

    for (int index = 0; index < chars.Length; index++) 

    { 

        string encodedString = EncodeChar(chars[index]); 

        sb.Append(encodedString); 

    } 

 

    return sb.ToString(); 

 

private static string EncodeChar(char chr) 

    UTF8Encoding encoding = new UTF8Encoding(); 

    StringBuilder sb = new StringBuilder(); 

    byte[] bytes = encoding.GetBytes(chr.ToString()); 

 

    for (int index = 0; index < bytes.Length; index++) 

    { 

        sb.AppendFormat("%{0}", Convert.ToString(bytes[index], 16)); 

    } 

    return sb.ToString(); 

}  

 

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

О нас

Это блог компании Инлайн. Мы занимаемся разработкой сайтов, корпоративных порталов и корпоративных информационных систем на основе новейших технологии Microsoft  - ASP.NET, SharePoint и Silverlight. А в этом блоге мы размещаем самые последние новости в области разработке для web.

Облако тегов