C# 如何将.Net对象序列化为SOAP字符串?

C# 如何将.Net对象序列化为SOAP字符串?,c#,serialization,soap,C#,Serialization,Soap,我试图将我的C#对象序列化为一个字符串,然后使用WebClient将其传递给web服务。我正在成功地将对象转换为XML字符串,但它不是SOAP。如何将SOAP格式化程序添加到此文件 这是我的密码: public class Test { public static void Run() { var mmSync = new MMSync() { UserName = "myUserName", Pas

我试图将我的C#对象序列化为一个字符串,然后使用WebClient将其传递给web服务。我正在成功地将对象转换为XML字符串,但它不是SOAP。如何将SOAP格式化程序添加到此文件

这是我的密码:

public class Test
{
    public static void Run()
    {
        var mmSync = new MMSync()
        {
            UserName = "myUserName",
            Password = "myPassword"
        };

        DataContractSerializer s = new DataContractSerializer(typeof(MMSync));
        var output = string.Empty;

        using (MemoryStream ms = new MemoryStream())
        {
            s.WriteObject(ms, mmSync);
            output = Encoding.ASCII.GetString(ms.ToArray(), 0, (int)ms.Length);
        }
    }
}

[DataContract]
public class MMSync
{
    [DataMember]
    public string UserName { get; set; }

    [DataMember]
    public string Password { get; set; }
}

让我建议一个替代方案:在项目中添加服务参考。这将创建一个代理类,它自动为您执行所有SOAP编码/解码和所有HTTP通信

详情:

有关“web引用”和“服务引用”之间区别的更多信息以及更详细的信息,请参阅以下相关问题:


让我建议一个替代方案:在您的项目中添加一个服务参考。这将创建一个代理类,它自动为您执行所有SOAP编码/解码和所有HTTP通信

详情:

有关“web引用”和“服务引用”之间区别的更多信息以及更详细的信息,请参阅以下相关问题:


什么是“SOAP字符串”?您想要一个随时可以发布的SOAP XML请求主体吗?为什么?为什么不使用WCF?因为我不能在这个项目中发布太长的时间。您有SOAP web服务的WSDL吗?什么是“SOAP字符串”?您想要一个随时可以发布的SOAP XML请求主体吗?为什么?为什么不使用WCF?因为我不能在这个项目中发布太长的时间。您有SOAP web服务的WSDL吗?什么是“SOAP字符串”?您想要一个随时可以发布的SOAP XML请求主体吗?为什么?为什么不使用WCF?因为我不能在这个项目中发布太长时间。你有SOAP web服务的WSDL吗?相信我,我很乐意这样做。但由于篇幅太长,无法在这里发表,这是不可能的。@Scottie:啊,好吧,我明白了。我会把我的答案保留在这里,也许它会帮助其他人回答同样的问题。相信我,我很乐意这样做。但由于篇幅太长,无法在这里发表,这是不可能的。@Scottie:啊,好吧,我明白了。我会把我的答案保留在这里,也许它会帮助其他人回答同样的问题。相信我,我很乐意这样做。但由于篇幅太长,无法在这里发表,这是不可能的。@Scottie:啊,好吧,我明白了。我将把我的答案保留在这里,也许它会帮助其他人回答同样的问题。