Sto costruendo un sito ASP.NET MVC in cui utilizzo Lucene.Net per le query di ricerca. Ho posto una domanda qui su come strutturare correttamente l'utilizzo di Lucene.Net in un'applicazione ASP.NET MVC e mi è stato detto che il metodo migliore è dichiarare il mio IndexWriter
come public static
, in modo che possa essere riutilizzato.
Ecco del codice che si trova nella parte superiore del mio 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);
Come writer
è statico, IndexLocation
deve essere anche statico. Pertanto, il compilatore mi dà il seguente errore per Server.MapPath()
:
È richiesto un riferimento a un oggetto per il campo, il metodo o la proprietà non statici "System.Web.Mvc.Controller.Server.get"
Esiste un modo per utilizzare Server.MapPath () o qualcosa di simile da un campo statico ? Come posso correggere questo errore?