我正在使用 Visual Studio 开发服务器(内置 VS2010 的 Web 服务器)在本地运行一个 .NET 4.0 Web 应用程序,在过去的几个月里,我的 StructureMap 引导程序文件运行良好。
我正在使用 StructureMap 2.6.1
我没有更改 Bootstrapper 文件或 Web.config 文件,突然,我在尝试启动我的 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>();
我已经尝试将这些行中的每一行添加到我的 Web.config 文件中,一次一个,但它们没有解决问题:
<trust level="Full" />
和
<securityPolicy>
<trustLevel name="Full" policyFile="internal"/>
</securityPolicy>
有没有人有任何想法或可能听说过这样的问题?这很重要,如果没有正确启动 StructureMap 的 b/c,我的整个应用程序将无法运行。
谢谢,迈克
更新:
好的,所以看来我的问题是本地的。此处的其他开发人员可以下载代码,并在他们的本地计算机上正常运行。奇怪的。他们很好地引导 StructurMap 并且所有实例都已解决...
关于为什么我的机器在本地为我的 Web 项目以调试模式运行时无法引导 StructureMap 的任何想法?