Tôi đang xây dựng một trang ASP.NET MVC nơi tôi đang sử dụng Lucene.Net cho các truy vấn tìm kiếm. Tôi đã hỏi một câu hỏi ở đây về cách cấu trúc đúng cách sử dụng Lucene.Net trong ứng dụng ASP.NET MVC và được cho biết rằng phương pháp tốt nhất là khai báo my IndexWriter
as public static
, để nó có thể được sử dụng lại.
Đây là một số mã nằm ở đầu SearchController của tôi:
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);
Như writer
là tĩnh, IndexLocation
cũng phải tĩnh. Do đó, trình biên dịch đang cho tôi lỗi sau vì Server.MapPath()
:
Một tham chiếu đối tượng là bắt buộc cho trường, phương thức hoặc thuộc tính không tĩnh 'System.Web.Mvc.Controller.Server.get'
Có cách nào sử dụng Server.MapPath () hoặc thứ gì đó tương tự từ trường tĩnh không? Tôi có thể sửa lỗi này bằng cách nào?