Estou construindo um site ASP.NET MVC onde estou usando Lucene.Net para consultas de pesquisa. Eu fiz uma pergunta aqui sobre como estruturar adequadamente o uso do Lucene.Net em um aplicativo ASP.NET MVC e me disseram que o melhor método é declarar o my IndexWriter
as public static
, para que ele possa ser reutilizado.
Aqui está um código que está na parte superior do meu SearchController:
public static string IndexLocation = Server.MapPath("~/lucene");
public static Lucene.Net.Analysis.Standard.StandardAnalyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer();
public static IndexWriter writer = new IndexWriter(IndexLocation,analyzer);
Como writer
é estático, IndexLocation
também deve ser estático. Portanto, o compilador está me dando o seguinte erro para Server.MapPath()
:
É necessária uma referência de objeto para o campo, método ou propriedade não estático 'System.Web.Mvc.Controller.Server.get'
Existe uma maneira de usar Server.MapPath () ou algo semelhante de um campo estático ? Como posso corrigir esse erro?