我有一個.net Mvc4項目,我添加了一個的WebAPI控制器和爲Ajax調用一個基本的行動繼承的安全規則。調用的WebAPI控制器的動作,導致侵犯HostedHttpRouteData.get_Route(
當我打電話方法獲得:
Inheritance security rules violated while overriding member: 'System.Web.Http.WebHost.Routing.HostedHttpRouteData.get_Route()'. Security accessibility of the overriding method must match the security accessibility of the method being overriden.
我還沒有做出任何自定義修改或設置爲任何網絡API工作(是我應該?)
我注意到DefaultApi路線是我routeConfig 。我也在使用Unity Mvc4 & Unity Web Api軟件包,(我禁用它來測試它是否導致問題,但似乎不是)。
我的控制器的TestController
行動:
public bool ClearAwaitingNotifications()
{}
& Ajax調用要:api/test/clearawaitingnotifications
我該如何解決這個問題?打控制器時,因爲
而我們猜測,您在共享主機上收到此錯誤不支持完全信任的應用程序?嘗試將'[assembly:System.Security.AllowPartiallyTrustedCallers]'添加到您的調用程序集中。 –
@DarinDimitrov Nop就在localhost :-)。嗯,導致了另一個錯誤:「嘗試通過安全透明方法'MvcWebsite.Bootstrapper.Initialise」程序集標記爲AllowPartiallyTrustedCallersAttribute,並使用2級安全透明度模型。級別2的透明度會導致AllowPartiallyTrustedCallers程序集中的所有方法在默認情況下變爲安全透明,這可能是此異常的原因。 – Baconbeastnz
這個'[程序集:System.Security.SecurityRules(System.Security.SecurityRuleSet.Level2,SkipVerificationInFullTrust = true)]'? –