Не знает ли кто-нибудь, в чем разница при вызове из вэб-сервиса dll'ек, лежащих в локальном bin'e и где-то в другом месте?
Собственно проблема в следующем:
1. Есть вэб-сервис (работает)
2. вэб-сервис зовет dll (тоже работает)
3. в dll используется класс System.Management.Instrumentation.BaseEvent и его метод Fire()
4. вот тут то и проблема. Пока dll лежит в локальном бине моего сервиса — все работает. Как только вызываю ее из другого места — получаю
exception глубоко внутри метода Fire()
Может кто сталкивался с подобной проблемой?
Здравствуйте, MikaRSDN Soukhov, Вы писали:
MS>Здравствуйте, evd, Вы писали:
MS>Может это поможетАвтор: alkash
Дата: 21.01.03
Добый и Вам день.
Предложенную ссылку я уже просматривал. Не совсем по теме, но кое-что путное нашел. Впрочем все равно не помогло.
К моему вопросу есть одно добавление: при использовании раннего связывания (early binding) все прекрасно работает в любом случае. А перестает работать при использовании позднего связывания (late binding)
Спасибо
Здравствуйте, MikaRSDN Soukhov, Вы писали:
MS>Здравствуйте, evd, Вы писали:
MS>У случайно тебя не пишет что не находит сборку?
нет, не пишет. Более того, сборку точно находит. Находит, вызывает мой метод, выполняет часть кода, влетает в класс, производный от BaseEvent (метод Fire() ) и вылетает глубоко в нем. Насколько я могу понять, BaseEvent — обертка для системного COM объекта, внутри которого ошибка и происходит. Если я на место BaseEvent.Fire() подставляю что нибудь другое (например запись своего ивента в системный лог) ошибки тоже не возникаетю Если я использую раннее связывание — тоже все нормально. Но в чем разница — не понимаю. Видимо тупой я...
Здравствуйте, MikaRSDN Soukhov, Вы писали:
MS>Здравствуйте, evd, Вы писали:
MS>При ремотинге (хотя у тебя простая длл как я понял) есть такоя штука Сервре должен видеть клиентскую сборку Помести на всякий случай и то и то в гак Если получится так хоть понятнее, будет что не так.
С этого начал (с гака) не помогло