2016-04-07 11 views
0

言語リソースファイルをJSONとして保存し、Newtonsoft.Jsonパッケージを使用してロードおよびデシリアライズする必要があります。wwwroot以外のjsonファイルをロードする

wwwrootフォルダにこれらのファイルを置くことは意味がありません。これらのファイルは、クライアントによって直接使用または開かれることはないためです。

File.LoadAllText()を使用してロードしようとしましたが、そのファイルをwwwrootで見つけようとしましたが、それ以外は見えません。

とにかくロードできますか?

+1

'.. \ some.json'のようなパスを使ってみましたか?あなたがwwwrootに限定されているわけではありませんが、それは作業ディレクトリかもしれません。 –

+0

@SamKuhmonen、そうです。 'wwwroot'以外の静的ファイルは使用することはできませんが、使用することはできますが、クライアントは利用できません。 – VSG24

答えて

1

デフォルトで作業ディレクトリがwwwrootに設定されていても、環境で許可されているすべてのファイルにアクセスできます。 wwwroot以外のディレクトリにクライアントから直接アクセスされないデータを格納することは理にかなっています。

PlatformServices.Default.Applicationでサービスを利用すると、ApplicationBasePathapprootフォルダへのパスを取得できます。これにより、作業ディレクトリと相対パスに頼らずに正しいファイルにアクセスしていることを確認できます。

これを使用するには、Microsoft.Extensions.PlatformAbstractionsへの参照を追加する必要があります。

関連する問題