Я создаю сайт ASP.NET MVC, где я использую Lucene.Net для поисковых запросов.Я задал здесь вопрос о том, как правильно структурировать использование Lucene.Net в приложении ASP.NET MVC, и мне сказали, что лучший способ - объявить my IndexWriter
как public static
, чтобы онможет быть использован повторно.
Вот код, который находится в верхней части моего 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);
Поскольку writer
является статическим, IndexLocation
также должно быть статическим.Таким образом, компилятор выдает мне следующую ошибку для Server.MapPath()
:
Ссылка на объект требуется для нестатического поля, метода или свойства 'System.Web.Mvc.Controller.Server.get '
Есть ли способ использования Server.MapPath () или что-то похожее из статического поля ?Как я могу исправить эту ошибку?