如何使用带有附件的 SOAP 在 ASMX Web 服务中创建和返回 CSV,而不是 XML
本文关键字:返回 创建 CSV XML 服务 Web 何使用 ASMX SOAP | 更新日期: 2023-09-27 17:57:09
假设我有一个这样的类:
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 的东西。 附件可以是CSV吗,如果是,我该怎么做?
SOAP with Attachments (SwA) 从未标准化:
SwA 是一个 W3C 注释。它作为提案提交,但未被W3C采用。相反,MTOM 是用于处理 SOAP 消息中的二进制数据的 W3C 建议。
无论如何,传统的ASMX Web服务技术既不支持SwA也不支持MTOM。有什么原因不能使用 WCF 吗?它确实支持 MTOM。
您是在寻找 Web 服务调用来发送文件,还是只关心输出是 CSV?
如果只需要 CSV 格式的输出,则可以将 CSV 作为字符串发送,然后将其保存到使用 Web 服务的应用程序中的文件中:
string csvFile = webService.GetCSV()
File.WriteAllText(filePath, csvFile );
请注意,它仍将返回 XML,但您的数据(字符串)将采用 CSV 格式。您必须创建一些帮助程序方法来获取对象并将其转换为 CSV 格式。
还有一些其他实现基于您计划如何使用该 Web 服务。