ASP.NET C#ファイルに書き込み、その後それらをロックしない

このエラーが発生しました。ファイル(…)にアクセスできません。ファイルが別のプロセスによって使用されているためです。
使用しようとしました
File.WriteAllText;

StreamWriter sw = new StreamWriter(myfilepath);
                sw.Write(mystring);
                sw.Close();
                sw.Dispose();

;

using (FileStream fstr = File.Create(myfilepath))
                {
                StreamWriter sw = new StreamWriter(myfilepath);
                sw.Write(mystring);
                sw.Close();
                sw.Dispose();
                fstr.Close();
                }

私がやろうとしているのは、ファイルにアクセスし、それに書き込み、そしてそれを閉じることです。私は愚かなミスをしているかもしれませんが、私は何を間違っているのか、そしてその理由を理解したいと思います。ファイルが閉じられていることを確認し、再度このエラーが発生しないようにする方法。

これまでの答えに助けられて私はこれをしました:

using (FileStream fstr = File.Open(myfilepath,FileMode.OpenOrCreate,FileAccess.ReadWrite))
                {
                    StreamWriter sw = new StreamWriter(fstr);
                    sw.Write(mystring);
                    sw.Close();


                }

2回目にアクセスしたときに別のファイルにアクセスしようとすると、自分のファイルのプロセスを閉じたり停止したりするように見えるので、それはもっと良いようです。しかし、もう一度同じファイルにアクセスしようとすると、エラーが発生します。

ベストアンサー
単に使用しないでください:

System.IO.File.WriteAllText(myfilepath, mystring");

それはあなたのファイルをロックするべきではありません。

内部的にWriteAllTextはFileShare.Readを使用し、書き込みが完了するとすぐにそのロックを解除します。

転載記事の出典を記入してください: ASP.NET C#ファイルに書き込み、その後それらをロックしない - コードログ