C#でASP.NET Webフォームを使用しています。あるページで、送信をクリックしてサーバー上にファイルを作成します。プロセスが別のプロセスで使用されているため、ファイルにアクセスできません。
File.Create(Server.MapPath(ConfigurationManager.AppSettings["LandingPages"])
+ landingPage.FriendlyName);
これは正常に動作し、期待どおりにファイルを作成します。ただし、これを実行すると、別のページにリダイレクトされ、作成されたばかりのファイルが読み込まれます。
var landingPageContent
= File.ReadAllText(Server.MapPath(ConfigurationManager.AppSettings["LandingPages"])
+ landingPage.FriendlyName);
このエラーが発生したときです。
プロセスは、別のプロセスで使用されているため、ファイル 'c:\ code \ Content \ CMS \ LandingPages \ Test2'にアクセスできません。
IISを再起動すると、プロセスによってファイルが解放され、そのページをロードしてファイルを正常に読み取ることができます。リダイレクトする前にファイルを閉じるには、File.Create
の後に何かする必要がありますか?
ああ、私はそれがストリームを返したことに気付かなかった。どうもありがとう!私ができるとき受け入れるでしょう:) – Chev