アプリケーションのファイルへのパスをWeb.Configファイルで指定し、そのパスをコントローラーで呼び出します。私がオンラインで見つけたものから、私はそこへの道のほとんどです。
Web.Config
<appSettings>
<add key="filePath" value= "~/App_Data/Physicians.xml" />
</appSettings>
コントローラー
//Path of the document
string xmlData = ConfigurationManager.AppSettings["filePath"].ToString();
ただし、これは間違った場所を指しています。
これを、アプリケーションのルートから始めて、App_Dataフォルダーに保存したファイルを指すようにするにはどうすればよいですか?
Server.MapPath
を使用できます。
または、構成ファイルに相対パスのみを保存してから、次を使用します。
<appSettings>
<add key="filePath" value= "App_Data/Physicians.xml" />
</appSettings>
string relativePath = ConfigurationManager.AppSettings["filePath"];
string combinedPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, relativePath)
後者の手法は非Webアプリケーションで機能するため、間違いなく優れています。