На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Проблема со сторонней DLL
    В общем, ситуация следующая:
    Есть некая dll-ка c математикой, есть сайт к которой ее нужно прикрутить.
    Если я запускаю сайт из под дебагера VS2010 с его встроенным сервером, то все импортируется и работает нормально.
    Когда я выкладываю это дела на 2012 сервер с его IIS при попытке выполнить функцию IIS виснет наглухо.
    В чем может быть дело?

    вот пример кода:
    ExpandedWrap disabled
      namespace GlobalMapperSDK
      {
          using GM_LayerHandle_t32 = IntPtr;
      ...
          public enum GM_LoadFlags_t32 : uint
          {
              GM_LoadFlags_HideProgress = 0x00000001,
              GM_LoadFlags_NoProjPrompt = 0x00000002,
              GM_LoadFlags_UseDefaultProj = 0x00000004,
              GM_LoadFlags_HideWarnings = 0x00000008,
              GM_LoadFlags_HideUnknownPrompt = 0x00000010,
              GM_LoadFlags_UseDefaultPos = 0x00000020,
              GM_LoadFlags_HideAllPrompts = 0x00000040,
          };
      ...
          public class GlobalMapperDLL
          {
              private const string DLLFileName = @"C:\\inetpub\\wwwroot\\Bin\\GM\\GlobalMapperInterface.dll";
      ...
              [DllImport(DLLFileName, EntryPoint = "GM_LoadLayerList")]
              public static extern GM_Error_t32 GM_LoadLayerList(String aFilename,out GM_LayerHandle_t32 aLayer,out UInt32 count,GM_LoadFlags_t32 aLoadFlags);
      ...
      }
      }
      ...
              IntPtr layers;
              UInt32 count;
              GlobalMapperDLL.GM_LoadLayerList(savePath, out layers, out count,
                  GM_LoadFlags_t32.GM_LoadFlags_HideProgress | GM_LoadFlags_t32.GM_LoadFlags_NoProjPrompt | GM_LoadFlags_t32.GM_LoadFlags_HideUnknownPrompt | GM_LoadFlags_t32.GM_LoadFlags_HideWarnings |
                  GM_LoadFlags_t32.GM_LoadFlags_NoProjPrompt | GM_LoadFlags_t32.GM_LoadFlags_UseDefaultPos | GM_LoadFlags_t32.GM_LoadFlags_UseDefaultProj);
    Сообщение отредактировано: Craft -
      битность dll и сервера различна?
        Цитата UncleBob @
        битность dll и сервера различна?

        У меня есть два варианта dll, 32 и 64 разрядные. Сервер x64, но, 64-х битную дллку он не воспринимает, пишет, что неизвестный формат
          2012 сервер по определению 64битный, если конечно IIS принудительно не переключили в 32 битный режим. Диспетчер заадач что для w3wp.exe показывает? 32 или 64?

          Добавлено
          еще в Event Log неплохо было бы заглянуть, чтобы узнать что за падеж...
            Цитата UncleBob @
            2012 сервер по определению 64битный, если конечно IIS принудительно не переключили в 32 битный режим. Диспетчер заадач что для w3wp.exe показывает? 32 или 64?

            Добавлено
            еще в Event Log неплохо было бы заглянуть, чтобы узнать что за падеж...

            w3wp.exe 64-х битный
              Цитата BBC @
              Сервер x64, но, 64-х битную дллку он не воспринимает, пишет, что неизвестный формат

              тут какое-то противоречие
                Цитата UncleBob @
                Цитата BBC @
                Сервер x64, но, 64-х битную дллку он не воспринимает, пишет, что неизвестный формат

                тут какое-то противоречие

                Мне тоже так кажется, но почему так понять не могу.
                  а что Event Log?
                    Цитата UncleBob @
                    а что Event Log?

                    Вообще по этому поводу ничего, видимо, он виснет раньше, чем пишет лог
                      Все оказалось очень просто.
                      Не хватало прав IUSER на выполнение для dll-ки
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0722 ]   [ 17 queries used ]   [ Generated: 26.04.24, 01:41 GMT ]