相关疑难解决方法(0)

在ASP.NET MVC中的静态字段内使用Server.MapPath()

我正在构建一个ASP.NET MVC站点,我正在使用Lucene.Net进行搜索查询.我在这里问了一个关于如何在ASP.NET MVC应用程序中正确构建Lucene.Net用法的问题,并被告知最好的方法是将my声明IndexWriterpublic 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);
Run Code Online (Sandbox Code Playgroud)

由于writer是静态的,IndexLocation也必须是静态的.因此,编译器给出了以下错误Server.MapPath():

非静态字段,方法或属性'System.Web.Mvc.Controller.Server.get'需要对象引用

没有办法在静态字段中使用Server.MapPath()或类似的东西?我该如何解决这个错误?

c# asp.net-mvc static lucene.net server.mappath

114
推荐指数
2
解决办法
11万
查看次数

MVC ASP.NET中HttpContext.Current和Controller.Context的区别

我正在研究MVC ASP .NET应用程序.我对两者都比较新.

在控制器中,我试图获取当前登录用户,为此似乎有两种方法:

System.Web.HttpContext.Current.User.Identity.Name
Run Code Online (Sandbox Code Playgroud)

要么

HttpContext.User.Identity.Name
Run Code Online (Sandbox Code Playgroud)

这些有什么区别?据我所知,在MVC框架中,控制器将当前的HttpContext存储为属性,因此这些方法是相同的.那是对的吗?

asp.net-mvc

71
推荐指数
2
解决办法
6万
查看次数

标签 统计

asp.net-mvc ×2

c# ×1

lucene.net ×1

server.mappath ×1

static ×1