相关疑难解决方法(0)

如何在返回null时检索HttpContext属性?

我在一个单独的线程上做一些异步工作:

ThreadPool.QueueUserWorkItem()
Run Code Online (Sandbox Code Playgroud)

在这个单独的线程中,我需要调用HttpContext.Current以便我可以访问:

HttpContext.Current.Cache  
HttpContext.Current.Server  
HttpContext.Current.Request  
Run Code Online (Sandbox Code Playgroud)

但是,HttpContext.Current当我创建这个单独的线程时,它为null.

如何创建新线程以使其HttpContext.Current不为空?或者是否有另一种方法可以访问Cache,Server和Request对象?

asp.net httpcontext

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

如何对使用HostingEnvironment.MapPath的代码进行单元测试

我有一些使用HostingEnvironment.MapPath我想要进行单元测试的代码.

如何设置HostingEnvironment以便它返回路径而不是null我的单元测试(mstest)项目?

asp.net unit-testing asp.net-mvc-3

20
推荐指数
1
解决办法
1万
查看次数

如何在C#中进行单元测试中的MapPath

我想在单元测试中加载外部XML文件,以测试该XML上的一些处理代码.如何获取文件的路径?

通常在Web应用程序中我会这样做:

XDocument.Load(Server.MapPath("/myFile.xml"));
Run Code Online (Sandbox Code Playgroud)

但显然在我的单元测试中我没有引用Server或HttpContext,那么如何映射路径以便我不必指定完整路径?

更新:

我只想说明我实际测试的代码是针对XML解析器类的,类似于:

public static class CustomerXmlParser {
  public static Customer ParseXml(XDocument xdoc) {
    //...
  }
}
Run Code Online (Sandbox Code Playgroud)

所以为了测试这个,我需要解析一个有效的XDocument.正在测试的方法不会访问文件系统本身.我可以直接在测试代码中从String创建XDocument,但我认为从文件加载它会更容易.

c#

14
推荐指数
2
解决办法
1万
查看次数

实体框架 - 如何在种子方法中获取相对文件路径

为什么filePath为null?有关如何获取相对filePath的任何想法?

internal sealed class Configuration : DbMigrationsConfiguration<MvcProject.Models.FileDb>
{
    public Configuration()
    {
        // code here is not relevant to question
    }
    protected override void Seed(MvcProject.Models.FileDb context)
    {    
        string filePath = System.Web.HttpContext.Current.Server.MapPath("~/Content/File.txt");

        // read File.txt using filePath and update the database
    }
}
Run Code Online (Sandbox Code Playgroud)

我在ASP .NET MVC项目上设置实体框架时创建的Migrations文件夹中的Configuration.cs文件中有上述代码

当我在包管理器控制台中运行"Update-Database -Verbose"时,我收到一个错误,即filePath为null.

如果我手动设置filePath与文件的绝对URL:

string filePath = "C:/Users/User1/My Documents/Visual Studio 2012/Projects/MvcProject/Content/File.txt";
Run Code Online (Sandbox Code Playgroud)

一切正常.

显然,目标是建立一个相对路径,以便在不同的设置上与不同的开发人员一起工作.

真相被告知所有我需要的是文件 - 不一定是路径.任何帮助将不胜感激.

c# database asp.net-mvc entity-framework ef-migrations

9
推荐指数
1
解决办法
6532
查看次数