CRUD REST API - 谁"创建" C#obejct本身?

时间:2017-11-07 21:30:26

标签: c# wcf crud

我有一个基于WCF的C#CRUD REST api,适用于Schedule对象。您可以根据自己的需要创建,更新,删除。

我的问题是Schedule对象包含一个TriggerInfo子对象。如果你只是调用构造函数,那么你真的在调用代理的构造函数,并且永远不会调用真正的构造函数,因此子对象不会被初始化。

WCF发出的代理将TriggerInfo作为一个字段,但它始终为null,因为" real"中的构造函数逻辑从未调用过类。

换句话说,当客户创建C#' Schedule'对象,它真正创建了一个真正的Schedule类的代理,而代理对于必须初始化任何事情一无所知!

所以在这种鸡蛋和鸡蛋的情况下,谁创造了C#' Schedule'客户可以"填写的对象"?

我认为C#客户端可以创建一个Schedule对象,填写所有属性并将其传递给CreateSchedule()api并且它可以正常工作。不那么容易!

如果我创建了一个大而扁平的整体类,其中所有的TriggerInfo属性都是Schedule对象的属性,但是它不是很整洁,特别是如果你有多个子类。

/ p>

我可以在我的API上公开一个ScheduleFactory对象,该对象知道如何创建一个,但我不知道这是否是一种有效的方法!

1 个答案:

答案 0 :(得分:1)

如果需要进行任何重要的初始化,请不要创建Schedule对象客户端 - 只需将 New Create 方法添加到WCF服务并执行服务器-侧。或者,您可以使用 new Schedule()客户端,获取具有大量null属性的新代理实例,并在 Save 方法。