【问题标题】:Cassini exceptions on medium trust ASP.NET MVC application using Linq-to-SQL使用 Linq-to-SQL 的中等信任 ASP.NET MVC 应用程序上的 Cassini 异常
【发布时间】:2009-08-02 19:11:31
【问题描述】:

我在尝试浏览 Cassini 3.5.0.2 上的中等信任 ASP.NET MVC 应用程序(使用 Linq-to-SQL)时收到以下异常:

Could not load file or assembly 'Cassini, Version=3.5.0.2, Culture=neutral, PublicKeyToken=da0fefd60d522a7d'
or one of its dependencies. Failed to grant permission to execute. (Exception from HRESULT: 0x80131418)

有一个内部异常:

Execution permission cannot be acquired.

Stack trace:
at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset,
    PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission)
at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset,
    PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission)

相同的应用程序可以在 IIS7 和内部 VS2008 Web 服务器上运行。 Cassini 与不使用 Linq-to-SQL 的 ASP.NET MVC 应用程序一起工作没有任何问题。

ASP.NET MVC 应用程序和 Linq-to-SQL 存储库项目都应用了[assembly: System.Security.AllowPartiallyTrustedCallers],以便在中等信任下工作。

有人知道这个问题吗?

编辑

Server.cs的这一行抛出异常:

return appManager.CreateObject(appId, hostType, virtualPath, physicalPath, false);

【问题讨论】:

    标签: asp.net-mvc visual-studio-2008 linq-to-sql cassini


    【解决方案1】:

    [http://blogs.msdn.com/dmitryr/archive/2009/04/23/cassini-support-for-friendly-urls-routing.aspx#9855758]

    不幸的是,这是单 EXE Cassini 的副作用。在工作应用程序域中,Cassini EXE 被视为不受信任的代码。

    要使其在中等信任下工作,您需要修改中等信任定义(以允许由您的密钥签名的程序集获得完全信任)或返回将 Cassini 放入 GAC,就像以前的版本一样。

    谢谢,

    德米特里

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多