C# 将数据附加到asp.net mvc项目结构/树中的文本文件(如何寻址该文件?)
我正在为一个计划在几个月内发布的项目开发一个简单的登录页。人们可以使用表单注册,以便在发布时得到通知。目前,表单只生成一封电子邮件,上面写着“email address”foo@bar.com希望在发布时得到通知”并将其发送给我 现在,我想将表单中的数据保存到一个简单的文本文件中,以便以后可以更轻松地将其提供给我的电子邮件程序。在Visual Studio中,我在项目中创建了一个名为“订阅”的新文件夹,并在该文件夹中创建了一个空文本文件release_notification_emails.txt”。我尝试使用C# 将数据附加到asp.net mvc项目结构/树中的文本文件(如何寻址该文件?),c#,asp.net,asp.net-mvc,file-io,C#,Asp.net,Asp.net Mvc,File Io,我正在为一个计划在几个月内发布的项目开发一个简单的登录页。人们可以使用表单注册,以便在发布时得到通知。目前,表单只生成一封电子邮件,上面写着“email address”foo@bar.com希望在发布时得到通知”并将其发送给我 现在,我想将表单中的数据保存到一个简单的文本文件中,以便以后可以更轻松地将其提供给我的电子邮件程序。在Visual Studio中,我在项目中创建了一个名为“订阅”的新文件夹,并在该文件夹中创建了一个空文本文件release_notification_emails.tx
StreamWriter
写入该文件,但失败。下面是我的代码:
using (StreamWriter writer = new StreamWriter("/subscriptions/release_notification_emails.txt", true))
{
writer.WriteLine(eMail);
}
它会导致以下异常/错误
Could not find a part of the path 'C:\subscriptions\release_notification_emails.txt'.
因此,它似乎将StreamWriter的path参数视为相对于文件系统根而不是项目根的路径参数,这是有问题的。我一直使用相对于项目根的路径来包括图像、脚本、视图等。在我看来,这是asp.net执行此操作的标准方式(不过我对asp.net很陌生,你可能知道)
所以我现在的问题是:我如何写入项目/解决方案文件树中的文本文件?它不必使用StreamWriter,我只想让它工作。它需要位于项目文件树中,以便版本管理系统跟踪它,并且项目的同事拥有相同的文件。Yo您需要添加
Server.MapPath
以获取物理路径
new StreamWriter(Server.MapPath("/subscriptions/release_notification_emails.txt"), true)
很有魅力。谢谢你的快速帮助!不客气。如果答案有效,请做好标记。只是做了,不会让我再做(“你需要再等7分钟才能标记答案”)