DataContract как: -Передача параметров объекта в WCF
namespace AssemblyA
{
public class Person
{
public string FirstName {get;set;}
public string LastName {get;set;}
}
}
Сервис выглядит следующим образом: - сторона
[ServiceContract]
public interface IServer
{
[OperationContract]
Person GetPerson();
[OperationContract]
Person UpdatePerson(Person person)
}
Клиент: -
using AssemblyA;
namespace AssemblyB
{
class Program
{
static void Main(string[] args)
{
IServer server = factory.CreateChannel();
Person person = server.GetPerson();
person.FirstName = "Kilroy";
person.LastName = "";
Person p = server.UpdatePerson(person);
String str = p.LastName;
}
}
}
У меня есть две проблемы: -
Я устанавливаю свойство LastName в пустое и называется методом GetPerson. После этого, когда я проверяю свойство LastName, он приходит как ничего, а не пустой.
Вторая проблема, если я сделал изменения в классе Person следующим образом: -
public class Person { String _FirstName; String _LastName; public string FirstName { get{} set { _FirstName=value; _LastName="XYZ"; } } public string LastName { get;set; } }
После этого я изменил мой клиент, как: -
IServer server = factory.CreateChannel();
Person person = server.GetPerson();
person.FirstName = "Kilroy";
person.LastName = "abc";
Person p = server.UpdatePerson(person);
String str = p.LastName;
затем ул он показывает «XYZ» вместо «abc». Но я ожидаю от него «abc».
Прошу совета, поскольку я должен использовать его в своем проекте.
Полный код? Где атрибут DataContract в вашем классе Person? – diggingforfire
Вам _really_ необходимо поместить комментарии в комментарии, а не в свои детали вопроса. Это действительно мешает вашему вопросу и затрудняет для любого, кто ссылается на вопрос в будущем, выяснить, что такое проблема и решение. – jlafay