Я создаю сайт 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() или что-то подобное из статического поля? Как я могу исправить эту ошибку?
Спасибо заранее.