如果我使用datacontact序列化wcf中的对象,如何摆脱默认的xml命名空间

时间:2009-10-05 09:50:10

标签: c# xml wcf

这是我的界面

[ServiceContract(Namespace = "")]      
interface IParam     {     } 

这是我的班级

public class Parameter : IParam
{

    private string categoryName;

    [DataMember]
    public string CategoryName
    {
        get { return categoryName; }
        set { categoryName = value; }
    }


}

我的操作联系人是

[OperationContract]
string GetSegmentsByCategoryName(Parameter Params);

这是我的主要内容:

Parameter abc = new Parameter ();
abc.CategoryName = "xxx";

str = client.Channel.GetSegmentsByCategoryName(abc);

当我在wireshark检查时,我得到了这个xml

<Params xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CategoryName>
xxx
</CategoryName>
</Params>

我要摆脱xmlns:i =“http://www.w3.org/2001/XMLSchema-instance当我通过wcf httpbinding传递对象。

1 个答案:

答案 0 :(得分:1)

但这不是默认的/ element命名空间 - 它只是可能使用的命名空间的未使用别名。它实际上并没有破坏任何东西。我强烈建议不要管它。

如果你真的, 真的 想要这样做 - 也许写一个message inspector