У нас есть веб-сервис, написанный на C #, размещенный под IIS. Мы используем AppDomains для разделения вызовов задачи - каждый вызов выполняется в отдельном домене. Код делает что-то вроде следующего:
public class Simplified
{
public void Run()
{
AppDomain workDomain = AppDomain.CreateDomain(...);
var workUnit = (IWorkUnit)workDomain.CreateInstanceAndUnwrap(...);
workUnit.Execute(...);
//Done - but keep the workUnit around in case we need it again
}
}
Однако каждый AppDomain
загружает отдельные копии наших dll, что составляет большую часть времени обработки. Я понимаю, что вы можете каким-то образом сделать сборки, загружающие домен, нейтральными, чтобы они были общими для всех доменов приложений. Как мне сделать это для нашей веб-службы IIS?