2017-08-18 12 views
0

Azure Appサービスで.Net Web APIをデプロイしました。 My LogフォルダはWWWROOTフォルダにあります。 マイフォルダ構造Web.configのwwwrootパスファイルを参照する方法 - Azure Appサービス

↓WWWROOT 
>bin 
↓Logs 
    >TraceLog.log 
Web.Config 

以下のように私は

TraceLog.log

web.configファイルでパスを参照したいです。

は、私は次のように

fileName="%home%\site\wwwroot\Logs\TraceLog.log" 
fileName="C:\DWASFiles\Sites\[your websitnmame]\site\wwwroot\Logs\TraceLog.log" 
fileName="C:\DWASFiles\Sites\[your-websitename]\VirtualDirectory0\Logs\TraceLog.log" 
fileName="~\Logs\TraceLog.log" 
fileName="\Logs\TraceLog.log" 

が、私は、 enter image description here

+0

特別APIを使用する代わりに.NET APIを使用してファイルマニュアルを開こうとしましたか?これは分離するのに役立ちます。 –

答えて

0

よりもむしろ意図はIISおよびWebアプリケーションフレームワークのための一時ファイルストレージを提供することで、ローカルストレージを使用してこのエラーをでしょう取得を試してみましたAzure Storageにログを書き込むことをお勧めします。

0

できません。彼らは読んで利用できないようにそれを設計しました。 AppDomain.BaseDirectoryもEnvironment.CurrentDirectoryもそこを指していませんが、%HOME%環境変数の下で見つけることができますが、コードでExpandEnvironmentVariablesを呼び出してパスを参照するか、フルパスを指定する必要があります

あなたのweb.configは基本的に無視されます。アプリケーションサービスランタイムには独自のweb.configがあるため、パスへの参照はweb.configではなくコードに記述する必要があります。

0

Thiago Custodioとジェフは、コードを使って簡単にそれを行うことができると述べました。あなたの場合は、次のコードを使用してみてください。 Azure WebApp is sanboxとして

string traceLogPath = Environment.GetEnvironmentVariable("HOME") + @"\site\wwwroot\logs\TraceLog.log"; 

D:\ホームは、読み取りとサンドボックスのために利用可能である/紺碧にaccess.File構造を記述し、このdocumentを参照してください。

ホームディレクトリへのアクセス(D:\ホーム)

すべてのAzure Web Appでは、Azureストレージに裏打ちされた保存されたホームディレクトリを/持っています。このネットワーク共有は、アプリケーションがコンテンツを格納する場所です。このディレクトリは、読み書き可能なサンドボックスで使用できます。

関連する問題