我已经在C#中编写代码并将结果打印到终端以确认它正在工作。我目前正在将一些代码转移到MVC 4控制器,并且我已经能够连续合并大部分代码,但是我遇到了一部分问题。C#到ASP.NET MVC FileStream交叉点
我希望读取数据库文件(database.dat),稍后我希望写入同一个文件。
在我的控制,我有:
using (FileStream stream = File.OpenRead("database.dat")) database = (List)formatter.Deserialize(stream);
和
using (Stream stream = File.Open("database.dat", FileMode.Create)) formatter.Serialize(stream, database);
在这两种情况下File.OpenRead和File.Open '文件' 是下划线和我收到的错误:
'System.Web.Mvc.Controller.File(byte[], string)' is a 'method', which is not valid in the given context ..."
是否有办法在MVC中实现相同的结果?
@BASmith澄清:有一个在MVC控制器,这就是为什么你会得到关于System.Web.Mvc.Controller.File一个错误文件的方法,所以你需要提供System.IO.File的全名以获得常规的File静态类。 – 2013-04-09 04:44:04
感谢您指出这一点,我可能应该看到自己的一件小事,但有时只是简单的答案很难看清。 不幸的是,解决这个问题已经揭示了另一个虽然,它不喜欢“反序列化(流)”,并告诉我“SerializationException未被用户代码处理” – benallansmith 2013-04-09 05:04:49
与前面的评论没有关系,这是由于我是试图强制喂它从我以前的版本database.dat,并且版本不匹配。重新编译它,使其自己的database.dat应该解决这个问题。 – benallansmith 2013-04-09 05:07:39