вернуть девственность методу
От: UberPsychoXenoSvin  
Дата: 30.09.13 12:38
Оценка: 2 (1)
есть некоторое стороннее апи(я его ненавижу). Иногда его функция может не сработать, и никогда больше она не сработает, если запускать её в рамках того же запуска приложения, но если запустить этот метод в отдельном приложении, или перезапустить старое, он практически со стопроцентной вероятностью срабатывает.

Нет ли в .NET фиговины которая может запустить код так, словно он запускается в первый раз, ну, то есть что бы у него ничего не проинициализированно было, не закешировалось ничего, и т.д, словно оно вызывается в первый раз.
Re: вернуть девственность методу
От: Visor2004  
Дата: 30.09.13 12:41
Оценка: +1
Здравствуйте, UberPsychoXenoSvin, Вы писали:

UPX>Нет ли в .NET фиговины которая может запустить код так, словно он запускается в первый раз, ну, то есть что бы у него ничего не проинициализированно было, не закешировалось ничего, и т.д, словно оно вызывается в первый раз.


AppDomain посмотрите, их можно выгружать вместе со всем содержимым по мере надобности и создавтаь новые.
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re[2]: вернуть девственность методу
От: Nikolay_P_I  
Дата: 01.10.13 04:32
Оценка:
Здравствуйте, Visor2004, Вы писали:

UPX>>Нет ли в .NET фиговины которая может запустить код так, словно он запускается в первый раз, ну, то есть что бы у него ничего не проинициализированно было, не закешировалось ничего, и т.д, словно оно вызывается в первый раз.


V>AppDomain посмотрите, их можно выгружать вместе со всем содержимым по мере надобности и создавтаь новые.


Стоит добавить, что если "это API" — обертка над unmanaged C++, то, скорее всего, не поможет. На unmanaged домены не действуют
Re[2]: вернуть девственность методу
От: UberPsychoSvin  
Дата: 01.10.13 05:21
Оценка:
Здравствуйте, Visor2004, Вы писали:

V>Здравствуйте, UberPsychoXenoSvin, Вы писали:


UPX>>Нет ли в .NET фиговины которая может запустить код так, словно он запускается в первый раз, ну, то есть что бы у него ничего не проинициализированно было, не закешировалось ничего, и т.д, словно оно вызывается в первый раз.


V>AppDomain посмотрите, их можно выгружать вместе со всем содержимым по мере надобности и создавтаь новые.


Аххахахха, сработало
try
{
    DoSomething();
    return;
}
catch{}

var dt = (FeatureInstaller)domain.CreateInstanceAndUnwrap(typeof(FeatureInstaller).Assembly.FullName, typeof(FeatureInstaller).FullName);
dt.DoSomething();
Re[3]: вернуть девственность методу
От: Visor2004  
Дата: 01.10.13 20:00
Оценка:
Здравствуйте, Nikolay_P_I, Вы писали:

N_P>Стоит добавить, что если "это API" — обертка над unmanaged C++, то, скорее всего, не поможет. На unmanaged домены не действуют


для unmanaged C++ есть FreeLibrary
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re: вернуть девственность методу
От: NetDeveloper  
Дата: 02.10.13 22:52
Оценка:
Здравствуйте, UberPsychoXenoSvin, Вы писали:

UPX>есть некоторое стороннее апи(я его ненавижу). Иногда его функция может не сработать, и никогда больше она не сработает, если запускать её в рамках того же запуска приложения, но если запустить этот метод в отдельном приложении, или перезапустить старое, он практически со стопроцентной вероятностью срабатывает.


UPX>Нет ли в .NET фиговины которая может запустить код так, словно он запускается в первый раз, ну, то есть что бы у него ничего не проинициализированно было, не закешировалось ничего, и т.д, словно оно вызывается в первый раз.


Такая фиговина есть, называется — домены приложения (AppDomain), посмотрите, может подойдет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.