将XML文档传输到Web服务的最佳实践

时间:2013-11-19 10:09:50

标签: .net xml wcf

我被要求对如何创建一个允许客户通过Web服务将XML文档传输给我们的Web服务进行一些研究。

我打算使用WCF并使用XmlElement输入参数,但我不知道这是否是最佳做法。

有人可以推荐一些在线资源来查看或有任何建议吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我不会转发XmlElement(甚至假设它可以在你的合同中编组,我从来没有尝试过类似的东西,你只会在计算和带宽方面产生无用的开销)。

XML文档是纯文本(然后XML片段也是文本),因此最好的选择是使用简单的System.String参数。

当然,字符串可能并不总是最好的解决方案,例如,我正在考虑一个大的XML文档。在这种情况下,我会使用System.IO.Stream。开始here from MSDN并阅读this for an example

总结一下(来自上面链接的代码)声明你的合同是这样的:

[MessageContract] 
public class UploadFileRequest 
{ 
    [MessageHeader] 
    public string fileName;

    [MessageBodyMember] 
    public Stream fileContents; 
} 

[ServiceContract] 
public interface IFileDownloader 
{ 
    [OperationContract] 
    Stream DownloadFile(string fileName);

    [OperationContract] 
    void UploadFile(UploadFileRequest request); 
}