Здравствуйте, caston, Вы писали:
C>Viyasnit' nahoditsya li site v "Trusted Zone", moszno popytavschis vypolnit' iz scripta kakuyu-nibud' operaciyu, kotoraya v etoy zone ne razreshena. Esli exception poluchen — site ne Trusted
C>Sergey/
Спасибо! Попытался использовать такой код:
try
{
var tmp = new ActiveX("Scripting.FileSystem");
// Если мы еще здесь - то мы в Trusted Zone
}
catch(Exception)
{
// Если попали суда - то либо в Local Intranet, либо Internet
}
Если мы либо в Local Intranet, либо Internet — то проблем нет — попали в catch-блок и определились. Проблема есть для Trusted Zone — когда runtime исполняет "new ActiveX()" — то выводиться окно предупреждения пользователю — то есть в тихую не получиться. Должно быть, сообщение выводиться, потому что этот COM-компонент не помечен как "Safe for scripting". Но помеченные таким атрибутом компоненты, я так полагаю, могут быть быз проблем использованы и в Local Intranet зоне и Internet зоне тоже. Можно, конечно, регулировать это настройкой IE, но все должно работать и с настройками по умолчанию.
Вопрос — может быть Вы знаете какие-нибудь способы работающие в Trusted зоне и не работающие в Internet зоне (без вывода сообщения и изменения настроек) ?