カスタムアセンブリでも制限されているSandbox環境に.NETアセンブリをロードする方法はありますか?別のAppDomainでアセンブリを実行できることは知っていますが、制限したい特定のことを実行できないように制限できますか?.NETでSandboxを使用してプラグインモデルを作成する方法は?
例:ASP.NETアプリケーション内の別のアセンブリ内でプラグイン(単純な、特定のインターフェイス経由で定義されたもの)をロードできるようにしたいが、プラグインが特定のインターフェイスにしかアクセスできないようにしたいデータアクセスレイヤーコンポーネントであり、どのデータベースにも直接接続することはできません。私は、単一のアプリケーションインスタンスに複数のクライアントデータをホストするシナリオを考えています。プラグインが、現在ログインしている特定のクライアント/ユーザーのデータにアクセスできるようにしたいだけです。
誰でもどのようにこれを行うにはアイデア?
私はサンドボックスにアセンブリをロードする方法については、ここでのSOに次の質問を見つけましたが、それはサンドボックスの任意のカスタム制限を加えることについて話しません:
Loading Assemblies from a .Net Application in a 'Sandbox Environment'
更新:それは見えます「AppDomain.CreateDomain」を呼び出すときは、「PermissionSet」非常に具体的に設定することができますが、私は、私は/上記の指定されたアクセス権を許可しないように設定する必要があると思いますどのような権限を正確にわからないように。この記事は、MSDNでもあります:http://msdn.microsoft.com/en-us/library/bb763046.aspx
をまた、私はSystem.AddInを使用するよりも、他の.NET 2.0/3.5
他のアイデアを、この中に行うために探していますか?
申し訳ありませんが、.NET 1.0ではこれを行う方法がありません。 –
ジョン・サンダースは、ええと...私はバージョンを指定していない、人々は少なくとも.NET 2.0を想定して考えました。とにかく、私は質問に私が探しているバージョンを追加しました。 –
他にも、System.AddInを使用する以外のアイデアはありますか? –