将自定义对象传递给Windows Workflow WCF服务

时间:2009-12-31 05:06:00

标签: c# wcf workflow-foundation

由于某种原因,我遇到了传递对象的问题,我不确定原因。我得到的Object引用没有设置为对象错误的实例。

基本上从我的客户端应用程序中调用Windows Work ...

客户代码

Workflow1Client client = new Workflow1Client();
ACME.Order newOrder = new ACME.Order();

newOrder.Property1 = "xyz";
//set all the other properties

string status = client.GetData(newOrder);  
//**This is where object reference error occurs**

代理期待

public string GetData(ACME.Order NewOrder)
{
     return base.Channel.GetData(NewOrder);
}

工作流程代码

[ServiceContract]
public interface IWorkflow1
        {
                [OperationContract]
        string GetData(ACME.Order NewOrder);
        // TODO: Add your service operations here
    }

我很感激任何帮助。除了这个问题之外,发送一个Object(ACME.Order)的良好实践还是应该尝试以不同的方式解决这个问题?

由于

1 个答案:

答案 0 :(得分:1)

我自己遇到了这个问题,在我的情况下,这是自定义对象上的序列化错误。为了能够跨WCF发送自定义对象,它应具有[Serializable]属性。要进行测试,请查看是否可以将对象序列化为XML文件。如果失败,则WCF传输将不起作用。

希望有所帮助。