Как избавиться от пространства имен xml по умолчанию, если я хочу сериализовать объект в wcf, используя datacontact - PullRequest
2 голосов
/ 05 октября 2009

Вот мой интерфейс

[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>

i, чтобы избавиться от xmlns: i = "http://www.w3.org/2001/XMLSchema-instance когда я передаю объект через wcf httpbinding.

1 Ответ

1 голос
/ 05 октября 2009

Однако это не пространство имен по умолчанию / элемент - это просто неиспользуемый псевдоним пространства имен, который может использоваться . Это на самом деле ничего не нарушает. Я настоятельно советую просто оставить это в покое.

Если вы действительно, действительно хотели это сделать - возможно, напишите инспектор сообщений .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...