1

假设我有这样的课程:

class Person
{
    public string name;
    public string address;
    public string city;
    public string state;
    public string zip;
}

我正在数据库上执行数据下降:

Select Name, Address, City, State, Zip
FROM Persons_Tbl

我通过 SqlDataReader 将数据存储在 Person 类中。

通常,Web 服务将返回数据,并且将采用 XML 格式。但是,我想将其返回为 CSV,而不是 XML。我意识到 Web 服务返回 XML 或 JSON。但是有一种叫做 SOAP with Attachments 的东西。附件可以是 CSV,如果可以,我该怎么做?

4

2 回答 2

2

带附件的 SOAP (SwA) 从未标准化:

SwA 是 W3C 注释。它作为提案提交,但没有被 W3C 采纳。相反,MTOM 是用于处理 SOAP 消息中的二进制数据的 W3C 建议。

无论如何,传统的 ASMX Web 服务技术既不支持 SwA 也不支持 MTOM。是否有某些原因您不能使用 WCF?它确实支持 MTOM。

于 2013-02-01T20:52:03.173 回答
1

您是在寻找 Web 服务调用来发送文件,还是只关心输出是 CSV?

如果您只需要 CSV 格式的输出,您可以将 CSV 作为字符串发送,然后将其保存到使用 Web 服务的应用程序中的文件中:

string csvFile = webService.GetCSV()
File.WriteAllText(filePath, csvFile );

请注意,它仍会返回 XML,但您的数据(字符串)将采用 CSV 格式。您必须创建一些辅助方法来获取您的对象并将其转换为 CSV 格式。

还有一些其他的实现基于您计划如何使用该 Web 服务。

于 2013-02-01T20:32:21.110 回答