четверг, 17 ноября 2011 г.

Короткий отзыв о посещений конференции "Форум технологий" от mail.ru Group

Вчера был на технической конференции, устроенной компанией mail.ru:
http://techforum.mail.ru

Коротко! Мне понравилось! Организация на 5+!
Было весело и интересно!
Обогащение знаниями сопровождалось поглощением разных вкусностей :)
Подарили сумку и всякой разной мелочи!

Меня интересовал в первую очередь то, что можно описать одним словом - highload.
В частности масштабирование и распределение нагрузки в совокупности с отказоустойчивостью.
Многое для себя прояснил.

Понравилось, что не просто рассказывалось о том, как есть, а как было и почему стало так.
Так например, mail.ru начинал со стандартной связки Apache, Mysql, Perl.
Сейчас же связка у них примерно такая: Nginx + Apache, Tarantool + Valdemort, Mysql, Hadoop.
Языки программирования чуть ли не все мейнстримные, включая C#!

Надеюсь, что скоро появятся видео с докладами, чтобы не получилось как в анекдоте про Рабиновича и Карузо :)

понедельник, 14 ноября 2011 г.

Заставляем работать MS Word 2003 в ASP.NET из-под IIS7 на Windows Server 2008 x64

Если вы пытаетесь заставить работать Microsoft Word 2003 в ASP.NET из-под IIS 7 на 64-разрядной операционной системе Windows Server 2008, то  скорее всего получите следующую ошибку:

System.Runtime.InteropServices.COMException (0x800A13E9): There is insufficient memory. Save the document now.

Решение:
  •   создайте отдельного пользователя, например, AppPoolUser, от которого будете запускать пул приложений IIS

  •  Добавьте этого пользователя обязательно (!) в группу локальных администраторов (!) и группу IIS_IUSRS

  •  В web.conig'е сделайте имперсонацию:
    <system.web>
      ...
      <identity impersonate="true" userName="AppPoolUser" password="123456" />
      ...
    </system.web>

  • Создайте обязательно (!) в директории: C:\Windows\SysWOW64\config\systemprofile папку Desktop
  Ниже не делал, заработало и так:
- Open Regedit, Go to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppId and edit the two enteries that have a Guid ending with 46. Delete every key they have and add a new key called RunAs with the value of Interactive User

среда, 2 ноября 2011 г.

Особенности работы с Xbase DBF через OleDb провайдер

Относительно недавно наткнулся на довольно интересную проблему, описанную мною на ломанном английском при работе с .dbf файлами через OleDb провайдер.
Описал ее на форуме MSDN в этом топике:

Create index command hangs up on dBase III .dbf file


В двух словах, нижеприведенный код зависал намертво при выполнении метода ExecuteNonQuery:

string createIndexCmd = "CREATE INDEX [INDNAME] ON [TBLNAME]([FIELD1], [FIELD2]);";
  using (var oledbCommand = new OleDbCommand(createIndexCmd, oleDbConnection))
   oledbCommand.ExecuteNonQuery();
 }

Там же в топике мною было описано и решение этой проблемы.

Но это так, к слову...


XBase DBF морально устарел, но еще используется в унаследованном коде.

Что можно использовать вместо него?

Все, конечно, зависит от конкретной задачи, которую вы собираетесь решать...

Советую присмотреться в первую очередь к SQLite, Firebird, SQL Server Compact.

К SQLite в первую очередь! Много положительных отзывов, поддержка для .Net, кроссплатформенность.