Страница: 1 |
|
Вопрос: Динамическая прокся
|
Добавлено: 27.04.04 00:00
|
|
Автор вопроса: VM
|
Сгенерил я программно файл с прокси-классом взамен того, который есть в сборке. Заместил файл в директории и теперь не могу понять как его сделать доступным. Т.е. файл Reference.vb с классом SomeReference.SomeService, который был изначально сгенерирован нажатием Add Web Reference в VS, я заместил своим исправленным Reference.vb с тем же SomeReference.SomeService. Как его теперь программно добавить в сборку и заместить там существовавший до этого класс? Или как иначе сделать так, чтобы при выполнении Dim ref as SomeReference.SomeService = new SomeReference.SomeService я получал экземпляр нового класса, а не старого? Куда смотреть? По каким ключевым словам искать во всех ресурсах? Всё, что я находил до сих пор, предлагало "нажать Update Web Reference" и др. штучки из VS, что мне не подходит, т.к. надо сделать это программно. Спасибо за советы и помощь.
Ответить
|
Номер ответа: 1 Автор ответа: VM
Вопросов: 9 Ответов: 19
|
Профиль | | #1
|
Добавлено: 27.04.04 00:19
|
Добавлю ещё про эффект, который возникает при попытке вызовов методов веб-сервиса: - первый вызов даёт exception в связи с тем, что внутри прокси-класса неправильный URL (потому что почему-то получен экземпляр старого класса, а не нового, а в старом действительно URL "не тот"); - начиная со второго запуска того же самого кода всё работает абсолютно правильно. Если кто-то может с этим помочь, то могу предоставить код генерации-компиляции-импортирования прокси.
Ответить
|
Номер ответа: 3 Автор ответа: VM
Вопросов: 9 Ответов: 19
|
Профиль | | #3
|
Добавлено: 27.04.04 16:59
|
По всей видимости - нет, не сделал. Ибо не знаю как это сделать программно. Подскажи, пожалуйста. В классе Assembly я не нашёл метода recompile или чего-то наподобие. Я так и подозревал, что необходима какая-то регистрация или загрузка файла в сборку. Что одной замены файла .vb на новый мало. Но тогда мне непонятно почему начиная со второго запуска я получаю именно экземпляр нового класса, а старый уходит в небытие. Сборка что, автоматически рекомпилится при возникновении exception? Нонсенс. И, кстати, вопрос более общего характера, без привязки к проксям. Как программно получить экземпляр класса, записанного в виде исходного кода в файле и не имеющегося в сборке? Что для этого нужно сделать? Тоже не могу найти где бы такое было объяснено. Спасибо за помощь.
Ответить
|
Номер ответа: 5 Автор ответа: VM
Вопросов: 9 Ответов: 19
|
Профиль | | #5
|
Добавлено: 28.04.04 20:36
|
Спасибо. Попробую попозже если понадобится компилировать. (Принцпип войск ПВО - Погоди Выполнять, Отменят - как раз пока никто не отменял). Пока же я разделил процессы автогенерации прокси и собственно само приложение и так, в два шага, всё работает без дополнительной компиляции. В любом случае спасибо за помощь.
Ответить
|
Страница: 1 |
Поиск по форуму