业务层中的私有静态const

时间:2014-07-24 18:38:49

标签: c# asp.net-web-api2 class-library

我为移动应用程序编写了一个Web api,它使用httpResponseMessages回复。我遇到了一个我不太想修理的问题。

基本上,在我的业务层类库中,我有一个对文件的私有引用:

 private const string FiFile = @"C:\DirectoryFile\FI.dat";

这个const由我的解决方案的另一部分(网页)调用,在使用移动电话时从不使用/或调用。

但是,如果我部署了移动api,在服务器上没有此目录则会引发异常。

我基本上在一个解决方案中有4个项目,一个用于Web,一个用于移动,两者都有对业务层的引用。

请您告诉我如何防止这种情况发生?

我能够阻止它的唯一方法是以神奇的方式创建上述文件夹/文件。

**更新** 错误如下:

{"Message":"An error has occurred.","ExceptionMessage":"The type initializer for BusinessLayer.BIFacade' threw an exception."

ExceptionMessage":"Could not find a part of the path 'C:\\DirectoryFile\\FI.dat'.

*更新* 当我调试,并使用fiddler进行我的api调用时,visual studio停在这里:

private static readonly Dictionary<string, BiData> SBicDirectory =
        File.ReadAllLines(FiFile).ToDictionary(line => line.Substring(3, 11), line => CreateBiData(line));

这是尝试使用构造函数中的FiFile const的地方。

*编辑* Doohhhh - 它已晚了。它在构造函数中,所以猜猜: - )

1 个答案:

答案 0 :(得分:0)

作为一个布偶 - 它在构造函数中,因此将始终被调用。对不起大家。