[ 
https://issues.apache.org/jira/browse/LUCENENET-357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12859480#action_12859480
 ] 

Frank West commented on LUCENENET-357:
--------------------------------------

I've checked a couple of times for anything relating to that - no dice. 
Is it even physically possible, isn't that going beyond what we have access to 
in a medium trust environment?

TBH: I have no experience with this WeakReference concept, so I may be getting 
it all wrong.

Wouldn't it be simpler to just manage the cache in a regular fashion (expires, 
limits, etc), 
rather than relying on these 'weak keys' - or wrap them in a container that you 
have access to?

I have no problems at all with caching within my system, (apart from the time 
it takes regex to remove some complex cache keys)
We just maintain lists, when they expire the GC removes them, and if the query 
is re-issued it's regenerated / re-cached. Some slide, others expire in set 
times.
Everything is reasonable.

I don't know much/anything about WeakKeys - so perhaps I'm missing something.




> Mostly won't work on shared hosts / Mosso cloud etc due to 'Trust' levels
> -------------------------------------------------------------------------
>
>                 Key: LUCENENET-357
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-357
>             Project: Lucene.Net
>          Issue Type: Bug
>         Environment: .NET 3.5 / Medium or Medium modified trust
>            Reporter: Frank West
>
> Initially I had to remove a few references to the Sys Environment to get it 
> to work. However now it fails use of the 'Weak Hashtable' - any reference to 
> a 'weak[something]' will fail with a security exception. The issue only 
> happens when returning sorted results.
> As an example here's the web.config modified trust file I'm being forced to 
> use on Mosso (Rackspace cloud)
> <configuration>
>   <mscorlib>
>     <security>
>       <policy>
>         <PolicyLevel version="1">
>           <SecurityClasses>
>             <SecurityClass Name="AllMembershipCondition" 
> Description="System.Security.Policy.AllMembershipCondition, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="AspNetHostingPermission" 
> Description="System.Web.AspNetHostingPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="ConfigurationPermission" 
> Description="System.Configuration.ConfigurationPermission, 
> System.Configuration, Version=2.0.0.0, Culture=neutral, 
> PublicKeyToken=b03f5f7f11d50a3a"/>
>             <SecurityClass Name="DnsPermission" 
> Description="System.Net.DnsPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="EnvironmentPermission" 
> Description="System.Security.Permissions.EnvironmentPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="FileIOPermission" 
> Description="System.Security.Permissions.FileIOPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="FirstMatchCodeGroup" 
> Description="System.Security.Policy.FirstMatchCodeGroup, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="IsolatedStorageFilePermission" 
> Description="System.Security.Permissions.IsolatedStorageFilePermission, 
> mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="NamedPermissionSet" 
> Description="System.Security.NamedPermissionSet"/>
>             <SecurityClass Name="PrintingPermission" 
> Description="System.Drawing.Printing.PrintingPermission, System.Drawing, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
>             <SecurityClass Name="SecurityPermission" 
> Description="System.Security.Permissions.SecurityPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="SmtpPermission" 
> Description="System.Net.Mail.SmtpPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="SqlClientPermission" 
> Description="System.Data.SqlClient.SqlClientPermission, System.Data, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="StrongNameMembershipCondition" 
> Description="System.Security.Policy.StrongNameMembershipCondition, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="UIPermission" 
> Description="System.Security.Permissions.UIPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="UnionCodeGroup" 
> Description="System.Security.Policy.UnionCodeGroup, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="UrlMembershipCondition" 
> Description="System.Security.Policy.UrlMembershipCondition, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="WebPermission" 
> Description="System.Net.WebPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="ZoneMembershipCondition" 
> Description="System.Security.Policy.ZoneMembershipCondition, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="ReflectionPermission" 
> Description="System.Security.Permissions.ReflectionPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="OleDbPermission" 
> Description="System.Data.OleDb.OleDbPermission, System.Data, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="OdbcPermission" 
> Description="System.Data.Odbc.OdbcPermission, System.Data, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="SocketPermission" 
> Description="System.Net.SocketPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>           </SecurityClasses>
>           <NamedPermissionSets>
>             <PermissionSet class="NamedPermissionSet" version="1" 
> Unrestricted="true" Name="FullTrust" Description="Allows full access to all 
> resources"/>
>             <PermissionSet class="NamedPermissionSet" version="1" 
> Name="Nothing" Description="Denies all resources, including the right to 
> execute"/>
>             <PermissionSet class="NamedPermissionSet" version="1" 
> Name="ASP.Net">
>               <IPermission class="AspNetHostingPermission" version="1" 
> Level="Medium"/>
>               <IPermission class="ConfigurationPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="DnsPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="EnvironmentPermission" version="1" 
> Read="TEMP;TMP;USERNAME;OS;COMPUTERNAME"/>
>               <IPermission class="FileIOPermission" version="1" 
> Read="$AppDir$" Write="$AppDir$" Append="$AppDir$" PathDiscovery="$AppDir$"/>
>               <IPermission class="IsolatedStorageFilePermission" version="1" 
> Allowed="AssemblyIsolationByUser" UserQuota="9223372036854775807"/>
>               <!-- <IPermission class="PrintingPermission" version="1" 
> Level="DefaultPrinting"/> -->
>               <IPermission class="SecurityPermission" version="1" 
> Flags="Assertion, Execution, ControlThread, ControlPrincipal, 
> RemotingConfiguration"/>
>               <IPermission class="SmtpPermission" version="1" 
> Access="ConnectToUnrestrictedPort"/>
>               <IPermission class="SqlClientPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="WebPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="OleDbPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="OdbcPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="SocketPermission" version="1" 
> Unrestricted="true" />
>               <IPermission class="ReflectionPermission" version="1" 
> Unrestricted="true"/>
>             </PermissionSet>
>           </NamedPermissionSets>
>           <CodeGroup class="FirstMatchCodeGroup" version="1" 
> PermissionSetName="Nothing">
>             <IMembershipCondition class="AllMembershipCondition" version="1"/>
>             <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="ASP.Net">
>               <IMembershipCondition class="UrlMembershipCondition" 
> version="1" Url="$AppDirUrl$/*"/>
>             </CodeGroup>
>             <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="ASP.Net">
>               <IMembershipCondition class="UrlMembershipCondition" 
> version="1" Url="$CodeGen$/*"/>
>             </CodeGroup>
>             <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="Nothing">
>               <IMembershipCondition class="ZoneMembershipCondition" 
> version="1" Zone="MyComputer"/>
>               <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="FullTrust" Name="Microsoft_Strong_Name" Description="This 
> code group grants code signed with the Microsoft strong name full trust. ">
>                 <IMembershipCondition class="StrongNameMembershipCondition" 
> version="1" 
> PublicKeyBlob="002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293"/>
>               </CodeGroup>
>               <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="FullTrust" Name="Ecma_Strong_Name" Description="This code 
> group grants code signed with the ECMA strong name full trust. ">
>                 <IMembershipCondition class="StrongNameMembershipCondition" 
> version="1" PublicKeyBlob="00000000000000000400000000000000"/>
>               </CodeGroup>
>             </CodeGroup>
>           </CodeGroup>
>         </PolicyLevel>
>       </policy>
>     </security>
>   </mscorlib>
> </configuration>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to