Je construis un site ASP.NET MVC sur lequel j'utilise Lucene.Net pour les requêtes de recherche. J'ai posé une question ici sur la façon de structurer correctement l'utilisation de Lucene.Net dans une application ASP.NET MVC et on m'a dit que la meilleure méthode consiste à déclarer le my IndexWriter
as public static
, afin qu'il puisse être réutilisé.
Voici un code qui se trouve en haut de mon 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);
Comme writer
c'est statique, IndexLocation
doit également être statique. Ainsi, le compilateur me donne l'erreur suivante pour Server.MapPath()
:
Une référence d'objet est requise pour le champ, la méthode ou la propriété non statique 'System.Web.Mvc.Controller.Server.get'
Existe-t-il un moyen d'utiliser Server.MapPath () ou quelque chose de similaire à partir d'un champ statique ? Comment puis-je corriger cette erreur?