Я хочу повторно использовать некоторую логику кода из собственного веб-приложения в моем веб-приложении Windows Azure. В настоящее время у меня есть код, подобный этому:
void myFunction( params )
{
//environment-neutral code
}
Мне нужно переписать этот код, чтобы программа работала по-разному в зависимости от того, есть ли на Azure:
void myFunctionModified( params )
{
if( onAzure() ) {
//run Azure-specific code
} else {
//run non-Azure code
}
}
да, я знаю о виртуальных функциях, но мне понадобится такой код, чтобы хотя бы создать экземпляр нужного объекта, прежде чем я смогу вызвать эти виртуальные функции.
Проблема заключается в реализации onAzure()
Мне нужно использовать материал из сборки, которая присутствует только в Windows Azure (например, RoleEnvironment
). Поэтому я не понимаю, как реализовать onAzure()
, чтобы он не зависал при запуске вне среды Windows Azure.
Как заставить мое приложение работать по-разному в зависимости от того, какие сборки присутствуют в системе?