最佳答案
我正在建立一个 ASP.NET MVC 网站,在那里我使用 Lucene。用于搜索查询的 Net。关于如何正确构造 Lucene。NET MVC 应用程序中的 Net 使用情况,并被告知最好的方法是将 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);
As writer
is static, IndexLocation
must also be static. Thus, the compiler is giving me the following error for Server.MapPath()
:
非静态字段、方法或属性‘ System.Web.Mvc.Controller.Server.get’需要对象引用
Is there 一种使用 Server.MapPath ()或类似静态字段的方法? How can I fix this error?