Удалить поле в wsdl в веб-сервисе Asp.net - PullRequest
1 голос
/ 17 ноября 2009

Я создаю классы dto с помощью механизма шаблонов и хотел бы исключить некоторые свойства в веб-сервисе asmx, что, если возможно, лучший способ сделать это?

Ex:

[WebMethod]
public ProductPackages GetPackages()
{
   ProductPackages packages = new ProductPackages();
   packages.Packages.add(new PackageDTO());
   return packages;
}

PackageDTO содержит некоторые свойства, которые не относятся к этой услуге. Но так как класс может быть восстановлен в любое время, я не могу применить [XmlIgnore] к полям.

Так что я ищу способ применить «список исключений», не затрагивая реальный класс. Выше приведен только пример, механизм шаблонов генерирует dto для всех таблиц в данном проекте, и я хотел бы иметь возможность использовать их в сервисах без необходимости поддерживать большой набор почти идентичных классов.

Ответы [ 2 ]

0 голосов
/ 09 января 2010

Если вы не хотите возвращать поле или свойство, не указывайте его в возвращаемом вами объекте! Это так просто.

0 голосов
/ 06 января 2010

Просто попал в ту же проблему. Вы можете исключить поля, пометив их как internal.

public class Order
{
    public double OrderPrice;
    internal double ProfitMargin;
    internal string TheTruthAboutThisCustomer;
}
...