Kon*_*adi 3 c# asp.net asp.net-mvc file-io
我正在为一个项目的简单登陆页面工作,该项目在几个月内被推迟发布.人们可以使用表单注册以在发布时得到通知.目前,该表单只会生成一封电子邮件,说"电子邮件地址foo@bar.com希望在发布时收到通知"并将其发送给我.
现在我想将表单中的数据保存到一个简单的文本文件中,以便以后可以更轻松地将其提供给我的电子邮件程序.在Visual Studio中,我在我的项目中创建了一个名为"subscriptions"的新文件夹,并在该文件夹中创建了一个emptry文本文件release_notification_emails.txt".我尝试使用StreamWriter
写入文件,但它失败了.这是我的代码:
using (StreamWriter writer = new StreamWriter("/subscriptions/release_notification_emails.txt", true))
{
writer.WriteLine(eMail);
}
Run Code Online (Sandbox Code Playgroud)
它会导致以下异常/错误
Could not find a part of the path 'C:\subscriptions\release_notification_emails.txt'.
Run Code Online (Sandbox Code Playgroud)
所以看起来它将StreamWriter的path参数视为相对于文件系统根而不是项目根,这是有问题的.我使用相对路径项目的根所有的时间,包括图片,脚本,意见等,这在我看来,这是标准的方式asp.net不这样(我是很新的,虽然ASP.NET,你可能告诉).
所以我的问题是:如何写入项目/解决方案文件树中的文本文件?它不必使用StreamWriter
我只是想让它工作.它需要位于项目文件树中,以便由版本管理系统跟踪,并且在项目上工作的同事具有相同的文件.
您需要添加Server.MapPath
以获取物理路径.
new StreamWriter(Server.MapPath("/subscriptions/release_notification_emails.txt"), true)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9817 次 |
最近记录: |