c# - 将 DataContract 作为 XML 保存在数据库中

标签 c# xml wcf datacontract

我正在为 WCF 服务开发一种“存储和转发”应用程序。我想将消息作为原始 XML blob 保存在数据库中,作为 XElement。我在将数据契约(Contract)转换为数据库调用所需的 XElement 类型时遇到了一些麻烦。有什么想法吗?

最佳答案

这会将其作为字符串返回,您可以将其放入数据库的 xml 列中。这是一个很好的通用方法,您可以使用它来序列化数据契约(Contract)。

public static string Serialize<T>(T obj)
{
    StringBuilder sb = new StringBuilder();
    DataContractSerializer ser = new DataContractSerializer(typeof(T));
    ser.WriteObject(XmlWriter.Create(sb), obj);
    return sb.ToString();
}

顺便说一句,你在使用 linq to sql 吗?我问的原因是因为你问题的 XElement 部分。如果是这种情况,您可以在 .dbml 设计器中修改它以使用字符串作为 CLR 类型,而不是默认的 XElement。

关于c# - 将 DataContract 作为 XML 保存在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1077747/

相关文章:

c# - 我们应该如何实现来授权客户使用我们的网络服务?

c# - 编码UI : The Browser gets closed as finish testing without keeping for testing further steps

xml - 戈朗 : structure to generate/parse both XML and JSON

wcf - azure 架构 - 处理安全性

javascript - 如何将客户特定逻辑构建到核心项目中?

c# - Microsoft.Azure.Cosmos.Table LocationMode.SecondaryOnly RA-GRS 异常 此操作只能针对主存储位置执行

mysql - 将内容指定为属性的 XML 导入 MySQL 表?

java - 如何关闭底部导航或调用另一个空 Activity ?

c# - 无法创建相对 URI,因为 'uriString' 参数表示绝对 URI

wcf - "Unable to connect to the remote server"