모바일 응용 프로그램에 대한 웹 API를 작성 중이며 httpResponseMessages로 응답합니다. 나는 고칠 수있는 초심자 인 문제를 겪었다.비즈니스 계층의 개인 정적 const
기본적으로 내 비즈니스 레이어 클래스 라이브러리에서 내가 파일에 개인 참조가: /이 CONST이 내 솔루션 (웹 페이지)의 다른 부분에 의해 호출되는
private const string FiFile = @"C:\DirectoryFile\FI.dat";
, 그리고 사용되지 않습니다 또는 모바일 통화를 사용할 때 호출됩니다.
그러나 서버에이 디렉토리가없는 모바일 API를 배포하면 예외가 발생합니다.
기본적으로 하나의 솔루션에 4 개의 프로젝트가 있습니다. 하나는 웹용이고 하나는 모바일 용이며 둘 모두 비즈니스 계층에 대한 참조입니다.
어떻게 이런 일이 발생하지 않도록 할 수 있습니까?
내가 막을 수있는 유일한 방법은 위의 폴더/파일을 phsyically 만든 것입니다.
** 업데이트 ** 오류는 다음과 같다 :
는{"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 *이 내가 디버깅, 내 API 호출을 할 피들러를 사용하여 시각적 인 스튜디오는 여기 중지 :
private static readonly Dictionary<string, BiData> SBicDirectory =
File.ReadAllLines(FiFile).ToDictionary(line => line.Substring(3, 11), line => CreateBiData(line));
이것은 생성자에있는 FiFile const를 사용하려고하는 곳입니다.
* EDIT * Doohhhh - 늦었습니다. 그것은 생성자에 있으므로 다음과 같이 추측합니다 :-)
예외는 무엇입니까? 이 서스펜스로 교수형에 처하게하지 마라. – Steve
예외가 발생한 코드를 살펴 봐야한다. 문자열이 파일 이름처럼 보이더라도 파일 이름이어야한다는 의미는 아니며 파일이 있는지 자동으로 확인합니다. 특별히 문자열을 파일 이름으로 사용하고 파일에 액세스하려고하는 일부 코드가 있어야합니다. – Guffa
죄송합니다. 도움이 될지 모르겠습니다. – CSharpNewBee