1

C# を使用してファイルを iis の「一時」フォルダー パスに保存しようとすると、ローカルで動作しますが、アプリを公開して別のコンピューターからアクセスすると、フル パス (C:/...) が使用され、見つかりません。ローカルディレクトリを探しているので、どうすれば修正できますか?

(Server.MapPath("~/TEMP/") + filename); // code to savefile

ありがとう

4

1 に答える 1

3

あなたができる素晴らしい改善は次のとおりです。

appSetting1)アプリケーションの Web 構成に関する絶対パスを次のように追加します。\\MachineName\ShareName

2) マシン MachineName に ShareName ネットワーク共有を作成します (これは、必要に応じて、アプリケーションを公開するサーバーまたは別のサーバーでもかまいません)。

3) IIS ユーザーまたはアプリケーション プールの ID ユーザーが読み取り/書き込みで共有にアクセスできるようにします。\\MachineName\ShareName

4) 上記のコードを編集して、次のようにします。

Path.Combine(sharePath, filename);

wheresharePathは、web.config の appSetting の値で初期化された文字列です。ConfigurationManager.AppSetting["settingName"]

于 2013-04-23T23:45:46.107 に答える