powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамич. код и IIS - потеря сборки
1 сообщений из 1, страница 1 из 1
Динамич. код и IIS - потеря сборки
    #34026511
quadrochups
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую братьев по инструменту!
Господа, помогите, плиз, с такой необычной проблемой (сеть уже рыл, поиск юзал — нигде такого нет):
Есть Web-сервис, в котором динамически компилируется крохотная сборка (всё дело под WinXP+IIS, VS2005, .NET 2.0):


CodeDomProvider codeProvider = new CSharpCodeProvider();
CompilerParameters compilerParams = new CompilerParameters();
            
compilerParams.CompilerOptions = "/target:library";
            
compilerParams.GenerateExecutable = false;
compilerParams.GenerateInMemory = true;
compilerParams.IncludeDebugInformation = false;

string ClassName = "Evaluator" + RuleID;
CompilerResults results = codeProvider.CompileAssemblyFromSource(compilerParams, "class " + ClassName + " { public static int CountPoints(double sum) { return (int)("+expr+"); } }");

Assembly asm = results.CompiledAssembly;

return asm.GetType(ClassName);// из этого типа потом делаю вызов

Далее я дёргаю сервис, который вызывает метод из этой сборки. И это работает! На моей локальной машине...
Но как только загружаю это хозяйство на сервер (Windows Server 2003+SP1), метод вылетает с ошибкой: "System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\WINDOWS\TEMP\3rjnfk4a.dll' (имя каждый раз разное).
Наблюдение файломонитором показало, что вызывается внешний csc.exe, который компилирует временный исходник во временный же файл (опа! Вот такая интересная GenerateInMemory = true), который уже просто загружается процессом w3wp.exe;
Но самое смешное, что этот w3wp сначала удаляет DLL-ку (и ещё кучу сопутствующего мусора), а потом... снова лезет её загружать! А файлика-то нет! :???:

Может дело и не в этом, т.к. локальный IIS (aspnet_wp.exe) тоже его удаляет, но ведь локальный IIS и не пытается его заново загрузить! (пользуется тем, что уже загрузил вначале)
Вобщем, объяснил как смог, а Смог был крепким парнем! :) Очень надеюсь на вашу помощь.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамич. код и IIS - потеря сборки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]