WCF、Linq-to-SQL 和参数化构造函数

Posted

技术标签:

【中文标题】WCF、Linq-to-SQL 和参数化构造函数【英文标题】:WCF, Linq-to-SQL and Parameterized Constructors 【发布时间】:2009-01-22 17:17:22 【问题描述】:

如何让 WCF 允许以下操作?

Dim EmployeeID as Integer = 10
Dim emp As New WcfServiceLibrary1.Employee(EmployeeID)
Response.write (emp.LastName)

目前我必须这样做,因为我无法为 WCF 找到允许参数化构造函数的方法:

Dim EmployeeID as Integer = 10
Dim emp As New WcfServiceLibrary1.Employee()
emp = emp.GetEmployee(EmployeeID)
Response.write (emp.LastName)

我不得不采取这额外的步骤似乎很奇怪。

【问题讨论】:

你能说得更具体点吗?我只是看到你想要一个构造函数返回一个值,这在 OO 世界中是不可能的。您是指静态方法之类的东西吗? 在普通类中,您可以重载构造函数,例如 Public Sub New(ByVal EmployeeID as Integer)... 我看不到使用 WCF 执行此操作的方法 您正在使用构造函数来创建与普通类不同的服务类的实例,此外,这里 WCF 正在处理对象封送处理。您将无法使用服务合同来实现您想要实现的目标。 我不确定你是如何调用从 WCF 服务中检索到的对象的方法的。通常使用 WCF,您可以调用服务合同上的方法。员工是服务合同吗?请向我们出示您的服务合同和数据合同。谢谢。 @Perpetualcoder - 请填写您的第二条评论作为答案,我会接受。 【参考方案1】:

您正在使用构造函数来创建与普通类不同的服务类的实例,此外,这里 WCF 正在处理对象封送处理。您将无法使用服务合同完成您想要实现的目标。

【讨论】:

以上是关于WCF、Linq-to-SQL 和参数化构造函数的主要内容,如果未能解决你的问题,请参考以下文章

构造函数拷贝构造函数析构函数

简述构造函数和析构函数的作用

Autofac + WCF REST 4.0

构造函数和析构函数?它们有什么作用? 面向对象的特征有哪些?

C++再识类和对象

27)构造和析构函数