To repro:
1. Add [Queryable] to web api action
2. Host the service in IIS with configuration:
<system.web>
<compilation targetFramework="4.0" />
<trust level="Medium" />
</system.web>
3. Send request to the action
It reports following error:
Respose Content: {"Message":"An error has occurred.","ExceptionMessage":"Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.","ExceptionType":"System.Security.SecurityException","StackTrace":" at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)\r\n at System.Security.CodeAccessPermission.Demand()\r\n at System.Reflection.RuntimeAssembly.VerifyCodeBaseDiscovery(String codeBase)\r\n at System.Reflection.RuntimeAssembly.GetName(Boolean copiedName)\r\n at System.Web.Http.OData.Query.ODataQueryOptions.GetDefaultHandleNullPropagationOption(IQueryable query)\r\n at System.Web.Http.OData.Query.ODataQueryOptions.ApplyTo(IQueryable query, ODataQuerySettings querySettings)\r\n at System.Web.Http.QueryableAttribute.OnActionExecuted(HttpActionExecutedContext actionExecutedContext)\r\n at System.Web.Http.Filters.ActionFilterAttribute.<>c__DisplayClass2.<System.Web.Http.Filters.IActionFilter.ExecuteActionFilterAsync>b__0(HttpResponseMessage response)\r\n at System.Threading.Tasks.TaskHelpersExtensions.<>c__DisplayClass41`2.<Then>b__40(Task`1 t)\r\n at System.Threading.Tasks.TaskHelpersExtensions.ThenImpl[TTask,TOuterResult](TTask task, Func`2 continuation, CancellationToken cancellationToken, Boolean runSynchronously)"}
1. Add [Queryable] to web api action
2. Host the service in IIS with configuration:
<system.web>
<compilation targetFramework="4.0" />
<trust level="Medium" />
</system.web>
3. Send request to the action
It reports following error:
Respose Content: {"Message":"An error has occurred.","ExceptionMessage":"Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.","ExceptionType":"System.Security.SecurityException","StackTrace":" at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)\r\n at System.Security.CodeAccessPermission.Demand()\r\n at System.Reflection.RuntimeAssembly.VerifyCodeBaseDiscovery(String codeBase)\r\n at System.Reflection.RuntimeAssembly.GetName(Boolean copiedName)\r\n at System.Web.Http.OData.Query.ODataQueryOptions.GetDefaultHandleNullPropagationOption(IQueryable query)\r\n at System.Web.Http.OData.Query.ODataQueryOptions.ApplyTo(IQueryable query, ODataQuerySettings querySettings)\r\n at System.Web.Http.QueryableAttribute.OnActionExecuted(HttpActionExecutedContext actionExecutedContext)\r\n at System.Web.Http.Filters.ActionFilterAttribute.<>c__DisplayClass2.<System.Web.Http.Filters.IActionFilter.ExecuteActionFilterAsync>b__0(HttpResponseMessage response)\r\n at System.Threading.Tasks.TaskHelpersExtensions.<>c__DisplayClass41`2.<Then>b__40(Task`1 t)\r\n at System.Threading.Tasks.TaskHelpersExtensions.ThenImpl[TTask,TOuterResult](TTask task, Func`2 continuation, CancellationToken cancellationToken, Boolean runSynchronously)"}