将Var类型的变量转换为输出文件

时间:2014-11-18 15:59:39

标签: c# web-services visual-studio

在尝试解释我在这里要求的内容时,我有一段非常糟糕的记录,所以希望我对此更加清楚。

基本上,我们正在查询客户端的数据库并根据它返回报告,然后将返回的内容写入文本文件。但是因为我们想要写入所述文件的是“变体”。而不是一个字符串',我有一个可怕的时间。

var factory = new ChannelFactory<IndexedService>("WSHttpBinding_IndexedService",
endpointAddress);
var _Service = factory.CreateChannel();
var results = _Service.GetUserReportResults("login", criteria.ToArray(),
grouping, sortFields.ToArray(), userReport.UserReportId,
userReport.EntityModel, key);

BinaryFormatter formatter = new BinaryFormatter();
using (FileStream stream = File.OpenWrite("test.txt"))
{
formatter.Serialize(stream, results);
}

我试图将var results中存储的内容写入test.txt,并尝试找到最佳方法。 BinaryFormatter是我现在所处的地方,无论好坏。它是实际写出任何可行的唯一途径,但即使它是ascii和其他价值分散的混乱。

我的问题可能缺乏哪些信息有助于澄清我所问的问题?细节我可能认为是理所当然的假设?如果是这样,我很乐意添加它们。

我意识到这可能(像我的大多数人一样)是一个相当补救的问题,而且我可能遗漏了一些明显的东西,但我还没有找到任何可以帮助我解决这个问题的事情,所以任何形式的帮助都将非常感激。谢谢。

EDIT 我试过了

XmlSerializer serializer = new XmlSerializer(typeof(UserReportPreviewListDto));
TextWriter WriteFileStream = new StreamWriter("serializer.xml");
serializer.Serialize(WriteFileStream, results);
WriteFileStream.Close();

BinaryFormatter formatter = new BinaryFormatter();
using (FileStream stream = File.OpenWrite("formatter.xml"))
{
formatter.Serialize(stream, results);
}

但结束时读错误

  

未处理的类型&#39; System.InvalidOperationException&#39;发生在   Converter.exe

     

其他信息:生成XML文档时出错。

每一次。有什么想法/帮助吗?

1 个答案:

答案 0 :(得分:0)

这对我很有帮助。感谢大家的帮助。

XmlSerializer serializer = new XmlSerializer(typeof(UserReportPreviewListDto[]));
TextWriter WriteFileStream = new StreamWriter("serializer.xml");
serializer.Serialize(WriteFileStream, results);
WriteFileStream.Close();

今天学到了一些令人敬畏的东西,以后将会帮助我,我毫不怀疑。再次感谢!