这是我背后的代码。如您所见,我试图通过写入我的机器上的本地文件来处理变量值。出于某种原因,文件中没有任何内容。所有的建议都表示赞赏,提前谢谢。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static bool GetEdits(string PMID, string Drug, string Gene, string SNP)
{
System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\istrauss\Desktop\Log.txt");
DeveloprodDataClassDataContext masterDB = new DeveloprodDataClassDataContext();
bool alreadyInDB = false;
file.WriteLine("PMID: " + PMID + ", Drug: " + Drug + ", Gene: " + Gene + ", SNP: " + SNP);
//Other stuff
return alreadyInDB;
}
答案 0 :(得分:1)
System.IO.StreamWriter
实现了IDisposable
,因此您应该在using
语句中使用它。您可能还需要致电Flush
:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static bool GetEdits(string PMID, string Drug, string Gene, string SNP)
{
bool alreadyInDB = false;
using(System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\istrauss\Desktop\Log.txt"))
{
DeveloprodDataClassDataContext masterDB = new DeveloprodDataClassDataContext();
file.WriteLine("PMID: " + PMID + ", Drug: " + Drug + ", Gene: " + Gene + ", SNP: " + SNP);
//Other stuff
file.Flush();
}
return alreadyInDB;
}
答案 1 :(得分:0)
如果file.Flush()
file.Close()
,然后才能更好地离开
using(System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\istrauss\Desktop\Log.txt")){
DeveloprodDataClassDataContext masterDB = new DeveloprodDataClassDataContext();
bool alreadyInDB = false;
file.WriteLine("PMID: " + PMID + ", Drug: " + Drug + ", Gene: " + Gene + ", SNP: " + SNP);
file.Flush();
file.Close();
}
如果您使用上面示例中使用的using
关键字来确保资源在使用完毕后保证正确免费,那么效果会更好。