Estoy construyendo un sitio ASP.NET MVC donde estoy usando Lucene.Net para consultas de búsqueda. Hice una pregunta aquí sobre cómo estructurar correctamente el uso de Lucene.Net en una aplicación ASP.NET MVC y me dijeron que el mejor método es declarar my IndexWriter
as public static
, para que pueda reutilizarse.
Aquí hay un código que está en la parte superior de mi 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
es estático, IndexLocation
también debe ser estático. Por lo tanto, el compilador me da el siguiente error para Server.MapPath()
:
Se requiere una referencia de objeto para el campo, método o propiedad no estática 'System.Web.Mvc.Controller.Server.get'
¿Hay alguna forma de usar Server.MapPath () o algo similar desde un campo estático ? ¿Cómo puedo solucionar este error?