Программное обеспечение: Visual Web Developer 2008 Express Edition Framework: ASP.NET 3.5 Язык: C# Книга: Программирование ASP.NET 3.5StreamWriter не создает новый файл
Я пытаюсь код из книги, и он не создает C: \ CodeLocal \ test.txt как ожидалось
global.asax
<%@ Application Language="C#" %>
<%@ Import Namespace="System.IO" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
Application["strStartMsg"] = "The application has started.";
string[] Books = {"SciFi","Fiction","Computers","History","Religion"};
Application["arBooks"] = Books;
WriteFile("Application Starting");
}
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
Application["strEndMsg"] = "The application is ending.";
WriteFile("Application Ending");
}
void WriteFile(string strText) {
StreamWriter writer = new StreamWriter(@"C:\CodeLocal\test.txt",true);
string str;
str = DateTime.Now.ToString() + " " + strText;
writer.WriteLine(str);
writer.Close();
}
</script>
Demo.aspx.cs
public partial class ApplicationStateDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("{0}<br/>",(string)Application["strStartMsg"]);
sb.AppendFormat("{0}<br/>", (string)Application["strEndMsg"]);
string[] arTest = (string[])Application["arBooks"];
sb.AppendFormat("{0}<br/>",arTest[1].ToString());
lblText.Text = sb.ToString();
}
}
Когда я запускаю код мой браузер выглядит как этот
Но когда я закрыть браузер, чтобы остановить выполнение, нет test.txt не создано
Код выглядит правильно, почему это не работает?
Используйте отладчик, чтобы выполнить код. Удалось ли написать письмо? – usr
Вы уверены, что имеете правильные права на запись? – Greg
@Greg, когда я запускаю VB в качестве администратора, он создает test.txt и записывает «запуск приложения» при запуске программы. Однако, когда я останавливаю программу, она не записывает «Завершение приложения». Что еще делать? – Glowie