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

Corey Trager commented on LUCENENET-169:
----------------------------------------

I found what was causing the "Required permissions cannot be acquired" with 
Medium Trust.

You have to go to project settings, Build, and uncheck "Allow unsafe code".

Pretty simple to say, but took me about three hours of trial and error to 
narrow down which svn revision the problem got introduced into, and then to 
narrow down the difference between that revision and the prior.

Some links that I found after that fact:
http://www.codeplex.com/AntiXSS/Thread/View.aspx?ThreadId=44517
http://social.msdn.microsoft.com/Forums/en-US/clr/thread/77376b96-5512-4c38-8c07-a527e577ec3a







> Changes to make Lucene.NET compatible with ASP.NET  Medium Trust Level, in 
> hosting environments (like GoDaddy...)
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENENET-169
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-169
>             Project: Lucene.Net
>          Issue Type: Improvement
>         Environment: ASP.NET
>            Reporter: Corey Trager
>         Attachments: FSDirectory.patch
>
>
> Microsoft has a configuration file for shared hosting for what they call 
> "Medium Trust".   There are a couple places in FSDirectory.cs  that violate 
> the restrictions of Medium Trust, but I coded workarounds, shown below.
> #1) 
> // Corey Trager, Oct 2008: Commented call to GetTempPath to workaround 
> permission restrictions at shared host.
> // LOCK_DIR isn't used anyway.
> public static readonly System.String LOCK_DIR = null; // 
> SupportClass.AppSettings.Get("Lucene.Net.lockDir", 
> System.IO.Path.GetTempPath());
> #2)
>               /// <summary>Returns an array of strings, one for each Lucene 
> index file in the directory. </summary>
>               public override System.String[] List()
>               {
> /* Changes by Corey Trager, Oct 2008, to workaround permission restrictions 
> at shared host */
>                System.IO.DirectoryInfo dir = new 
> System.IO.DirectoryInfo(directory.FullName);
>               System.IO.FileInfo[] files = dir.GetFiles();
>                 string[] list = new string[files.Length];
>                 for (int i = 0; i < files.Length; i++)
>                 {
>                     list[i] = files[i].Name;
>                 }
>                 return list;
> /* end of changes */
> //            System.String[] files = 
> SupportClass.FileSupport.GetLuceneIndexFiles(directory.FullName, 
> IndexFileNameFilter.GetFilter());
> //            for (int i = 0; i < files.Length; i++)
> //            {
> //                System.IO.FileInfo fi = new System.IO.FileInfo(files[i]);
> //                files[i] = fi.Name;
> //            }
> //                      return files;
>               }

-- 
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