Я пытаюсь создать службу WCF, но столкнулся с проблемой блокировки.Я гуглил вокруг, но я не смог добиться никакого прогресса.Надеюсь, мне повезет больше.
Допустим, у меня есть класс работы, определенный следующим образом:
[DataContract]
public class Job : IJob
{
public Job(...)
{
}
[DataMember]
public string Example
{
get { return m_example; }
set { m_example = value; }
}
}
Теперь, что я делаю, это что-то вроде
public void DoSomething()
{
ExampleServiceProxy.ExampleClient proxy = new ExampleServiceProxy.ExampleClient();
proxy.DoSomething(job);
}
Внутри моего Reference.cs я добавил некоторые атрибуты ServiceKnownTypeAttribute следующим образом:
...
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(Job))]
void DoSomething(object job);
Мой сервисный код выглядит следующим образом:
[ServiceContract]
public interface IExample
{
[OperationContract]
void DoSomething(IJob);
}
public class Example : IExample
{
public void DoSomething(IJob job)
{
...
}
}
Нужно ли добавлять дополнительные ServiceKnownTypeAttributesгде-то?Нужно ли переопределять объект на стороне службы?