im tring, чтобы вернуть объект BL с сервера wcf , но я получаю только все частные свойства.wcf return public members of bl object
как вернуть только публичные свойства BL.
тот ШМ класс в некоторых DLL я Refernce на ФОС сервер
[Serializable()]
public class Account
{
#region properties
private int _accountId;
public int AccountID
{
get
{
return _accountId;
}
set
{
_accountId = value;
}
}
private string _title;
public string Title
{
get
{
return _title;
}
set
{
_title= value;
}
}
private string _name;
public string Name
{
get
{
return _name;
}
set
{
_name= value;
}
}}
тот метод ФОС в интерфейсе
[OperationContract]
[WebGet(UriTemplate = "{Key}/{Client}/Registrations?eventID={eventID}®Status={regStatus}")]
List<Registration> GetRegistrations(string key, string client, int eventID, int regStatus);
метод, сделать список возврата:
public List<Registration> GetRegistrations(string key, string client, int eventID, int regStatus)
{
if (Validation.ValidateClient(key, client) == false)
return null;
List<Registration> regs = Registration.GetRegByColumnandValue(eventID, (Registration.RegStatusFlags)regStatus);
return regs;
}
Атрибут [Serializable] находится в моем объекте bL. Я звоню и хочу вернуть его на свой wcf-сервер, но он возвращает только те частные переменные –
Да, как вы сказали в вопросе. Вам нужен DataContract. –
На самом деле WCF может использовать классы, отмеченные только '[Serializable]', и в этом случае он сериализует частные поля, которые не помечены '[NonSerialized]'. Однако предпочтительный способ - сделать то, что сказал ответчик, и использовать '[DataContract]'. – luksan