Я будую сайт ASP.NET MVC, де я використовую Lucene.Net для пошукових запитів. Тут я поставив запитання про те, як правильно структурувати використання Lucene.Net у додатку ASP.NET MVC, і мені сказали, що найкращим методом є оголошення мого " 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 () або щось подібне зі статичного поля ? Як я можу виправити цю помилку?