业务层中的私有静态const
本文关键字:静态 const 业务 | 更新日期: 2023-09-27 18:14:45
我正在为移动应用程序编写Web api,该应用程序使用httpResponseMessages进行回复。我遇到了一个问题,我太新手了,无法解决。
基本上,在我的业务层类库中,我有一个文件的私有引用:
private const string FiFile = @"C:'DirectoryFile'FI.dat";
此const被我的解决方案的另一部分(Web页面)调用,并且在使用移动呼叫时从未使用或调用。
但是,如果我部署移动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'.
* UPDATE *当我调试并使用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的地方,它在构造函数中。
* EDIT *天啊,很晚了。它在构造函数中,所以你猜怎么着:-)
作为一个提线木偶-因此它在构造函数中,将始终被调用。对不起所有人。