Visual Studio 開発サーバー (VS2010 で Web サーバーに組み込まれている) を使用して .NET 4.0 Web アプリケーションをローカルで実行しています。ここ数か月間、私の StructureMap ブートストラップ ファイルは完全に機能しました。
StructureMap 2.6.1を使用しています
Bootstrapper ファイルまたは Web.config ファイルを変更していないのに、Web アプリケーションを起動しようとすると、突然、この奇妙なエラーが発生します。
Web サイトからスローされるエラーは次のとおりです。
少し読みにくいです。それは言います:
Security Exception
Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.
Exception Details: System.Security.SecurityException. Request Failed.
ここに私のブートストラッパーファイルのコードがあります:
public class BootStrapper
{
public static void ConfigureStructureMap()
{
ObjectFactory.Initialize(x =>
{
x.AddRegistry<ProductRegistry>();
});
}
}
public class ProductRegistry : Registry
{
public ProductRegistry()
{
For<IFirmRepository>()
.Use<FirmRepository>().Ctor<string>("connectionString").Is(ConfigurationManager.ConnectionStrings["FeesAndFlows"].ConnectionString);
For<ICryptographyService>()
.Use<Rijndael>();
For<IUserRepository>()
.Use<UserRepository>().Ctor<string>("connectionString").Is(ConfigurationManager.ConnectionStrings["FeesAndFlows"].ConnectionString);
For<IAuthenticationService>()
.Use<AuthenticationService>();
For<ILogger>()
.Use<DatabaseLogger>();
}
}
この行でエラーがスローされています:
x.AddRegistry<ProductRegistry>();
これらの各行を一度に 1 つずつ Web.config ファイルに追加しようとしましたが、問題は解決しませんでした。
<trust level="Full" />
と
<securityPolicy>
<trustLevel name="Full" policyFile="internal"/>
</securityPolicy>
誰かアイデアを持っているか、このような問題について聞いたことがありますか? これは非常に重要です。b/c StructureMap が正しく起動しないと、アプリケーション全体が実行されません。
ありがとう、マイク
アップデート:
わかりましたので、私の問題はローカルにあるようです。ここにいる他の開発者は、コードをダウンロードして、ローカル マシンで問題なく実行できます。変。それらはStructurMapをうまくブートストラップし、すべてのインスタンスが解決されます...
Web プロジェクトをローカルでデバッグ モードで実行しているときに、自分のマシンだけが StructureMap をブートストラップできない理由について何か考えはありますか?