Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# StreamWriter没有';不要创建新文件_C#_Asp.net_Streamwriter - Fatal编程技术网

C# StreamWriter没有';不要创建新文件

C# StreamWriter没有';不要创建新文件,c#,asp.net,streamwriter,C#,Asp.net,Streamwriter,软件:VisualWebDeveloper2008快速版 框架:ASP.NET3.5 语言:C# 书:编程ASP.NET 3.5 我正在尝试书中的代码,但它没有像预期的那样创建C:\CodeLocal\test.txt global.asax <%@ Application Language="C#" %> <%@ Import Namespace="System.IO" %> <script runat="server"> void Appli

软件:VisualWebDeveloper2008快速版 框架:ASP.NET3.5 语言:C# 书:编程ASP.NET 3.5

我正在尝试书中的代码,但它没有像预期的那样创建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>

无效应用程序\u启动(对象发送方,事件参数e)
{
//在应用程序启动时运行的代码
应用程序[“strStartMsg”]=“应用程序已启动。”;
string[]Books={“科幻”、“小说”、“计算机”、“历史”、“宗教”};
申请书[“书”]=书籍;
WriteFile(“应用程序启动”);
}
无效应用程序\u结束(对象发送方,事件参数e)
{
//应用程序关闭时运行的代码
应用程序[“strEndMsg”]=“应用程序正在结束。”;
书面文件(“申请结束”);
}
void WriteFile(字符串strText){
StreamWriter writer=新的StreamWriter(@“C:\CodeLocal\test.txt”,true);
字符串str;
str=DateTime.Now.ToString()+“”+strText;
作者:WriteLine(str);
writer.Close();
}
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();
    }
}
public分部类应用程序状态演示:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
StringBuilder sb=新的StringBuilder();
sb.AppendFormat(“{0}
”,(字符串)应用程序[“strStartMsg]”); sb.AppendFormat(“{0}
”,(字符串)应用程序[“strengmsg]”); 字符串[]arTest=(字符串[])应用程序[“arBooks”]; sb.AppendFormat(“{0}
”,arTest[1].ToString()); lblText.Text=sb.ToString(); } }
当我运行代码时,我的浏览器如下所示

但是当我关闭浏览器停止执行时,没有创建test.txt


代码看起来正确,为什么不起作用?

因为运行应用程序的应用程序池所在的标识可能没有对目录C:\CodeLocal的写入权限。尝试授予此文件夹上应用程序池标识的写入权限。

因为运行应用程序池的标识可能没有目录C:\CodeLocal上的写入权限。尝试为此文件夹上的应用程序池标识授予写入权限。

是否正在查找会话\u开始和结束事件处理程序


当浏览器关闭时,应用程序不会结束(并且不会调用应用程序结束事件处理程序)。应用程序池必须被告知以优雅的方式关闭。当应用程序池在一段时间不活动后回收或关闭时,就会发生这种情况。

是否正在查找会话\u开始和结束事件处理程序


当浏览器关闭时,应用程序不会结束(并且不会调用应用程序结束事件处理程序)。应用程序池必须被告知以优雅的方式关闭。当应用程序池在一段时间不活动后回收或关闭时,就会发生这种情况。

使用调试器逐步检查代码。它是否命中了写入?您是否确定您也具有适当的写入权限?@Greg当我以管理员身份运行VB时,它会创建test.txt并在我启动程序时写入“应用程序启动”。然而,当我停止程序时,它不会写“应用程序结束”。还有什么要做?“还有什么要做?”作为第一条注释,使用调试器。使用调试器逐步完成代码。它是否命中了写入?您是否确定您也具有适当的写入权限?@Greg当我以管理员身份运行VB时,它会创建test.txt并在我启动程序时写入“应用程序启动”。然而,当我停止程序时,它不会写“应用程序结束”。还有什么要做?“还有什么要做?”如第一条评论所述,使用调试器。我会稍微检查一下该文件。如果您在本地运行此web应用程序,而不是在IIS上运行,则可以从系统托盘停止该进程。我刚才做了,现在它写了“应用程序结束”到该文件。我将在稍后检查该文件。如果您在本地运行此web应用程序,而不是在IIS上运行,则可以从系统托盘停止该进程。我刚刚停止了,现在它在该文件中写入了“应用程序结束”。