c # - Begrænsning af brug af navneområder i MS Script Engine

Indlæg af Hanne Mølgaard Plasc

Problem



.NET Framework har gode funktioner til at understøtte kompilering af kode ved kørsel og kørsel, for at opnå nogle typer scriptfunktionaliteter. Der findes allerede nogle scriptmotorer på CodeProject, og Microsoft har også sit eget bibliotek.


Jeg arbejder på en webautomatiseringssoftware, jeg vil gerne inkludere Microsoft scripting engine i applikationen.


Problemet er, at scriptmotorerne tillader Brug af alle navneområder i den refererede enhed, og jeg vil begrænse brugen til et valgt få navneområde.


using System; // allowed.
using System.Linq; // allowed.
using System.Reflection; // restrict.


Sådan begrænser du brug af navneområder i scripts.

Bedste reference


Begrænsning af navneområder ved navn gør ikke meget, da udvidelsen kun kan indeholde en kopi af den klasse, du ikke kan lide i sin egen forsamling, men bare omdøbt.


Det lyder som det, du virkelig vil have, er en sikkerhedsgrænse. Anbring forlængelsen i et usikkert AppDomain.