Я создаю сайт ASP.NET MVC, где использую Lucene.Net для поисковых запросов. Я задал здесь вопрос о том, как правильно структурировать использование Lucene.Net в приложении ASP.NET MVC, и мне сказали, что лучший метод - объявить my IndexWriter
as 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 () или что-то подобное из статического поля ? Как исправить эту ошибку?