我在本地運行使用Visual Studio開發服務器在.NET 4.0 Web應用程序(內置在VS2010 web服務器),並在過去的幾個月,我的StructureMap引導程序文件已完美運作。System.Security.SecurityException被扔在初始化StructureMap引導程序
我使用StructureMap 2.6.1
我並沒有改變引導程序文件或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,我的整個應用程序將不會運行。
謝謝, 邁克
UPDATE:
好了,看來我的問題是局部的。其他開發人員可以下載代碼,並在本地機器上運行它。奇怪的。在調試模式下爲我的web項目在本地運行時,它們引導StructurMap得很好,所有實例都解決了......
爲什麼只是我的機器不能引導StructureMap任何想法?
如何解鎖Structuremap.dll? – Masoud