Доброго времени суток. Хочу спросить у профессионалов как правильнее написать код. Имею к примеру следующий код (взял из хелпа):
X++:
void COMExample()
{
COM com;
str result;
InteropPermission perm;
;
// Set the code access permission to help protect the use of the
// COM object.
perm = new InteropPermission(InteropKind::ComInterop);
if (perm == null)
{
return;
}
// Permission scope starts here.
perm.assert();
com = new COM("Scripting.FileSystemObject");
if (com != null)
{
// BP deviation documented.
result = com.GetFileName(@"c:\boot.ini");
}
// Close the code access permission scope.
CodeAccessPermission::revertAssert();
}
В Хелпе вычитал следующие строки: "Certain APIs that ship with Microsoft Dynamics AX use Code Access Security. When these APIs are run on the server, a class derived from CodeAccessPermission must be used. This helps make the APIs more secure. When you upgrade from a previous version of Microsoft Dynamics AX, you must modify calls to these APIs to ensure that the code executes correctly."
А также: "If an attacker can control input to the new method, a security risk exists. Therefore, this method runs under Code Access Security. Calls to this method on the server require permission from the InteropPermission Class."
Вопрос: В цитатах выше указано, что при запуске объекта COM (API) на сервере нужно использовать класс InteropPermission. Итак, получение разрешение IntertopPermission следует прописывать только при использовании кода на сервере? Или лучше прописывать всегда? И в каком случае его вообще нужно и не нужно писать? Благодарю!