winforms - 通过 Web 服务发送 Linq to SQL 类

标签 winforms web-services linq-to-sql asmx

我有一个 Windows 应用程序和一个 Web 服务。两者都有一个带有 Customer 表的 Linq to SQL 映射器。来自同一个数据库的同一张表,一切都相同。我尝试将 winapp.Customer 对象发送到 Web 服务,但 webserviceReference.MyMethod() 接受 webservice.Customer 对象并且不接受 winapp.Customer 作为参数。尝试将 winapp.Customer 转换为 webservice.Customer 但也不起作用。有办法实现吗?

最佳答案

不,无法使用 ASMX Web 服务来完成此操作。它们要求代理类型和真实类型是不同的类型。

您可以使用 WCF 来完成此任务,尽管它打破了 SOA 的理念(客户端和服务器将通过公共(public)类代码捆绑在一起)。

最后,使用任何类型的 Web 服务将 LINQ 传递到 SQL 或 Entity Framework 类都存在问题。当在层之间传递时,微软会搞乱并序列化依赖于实现的数据。当各层位于同一台计算机上时,这可能有意义,但当它们位于不同的计算机上时,意义就小得多。

关于winforms - 通过 Web 服务发送 Linq to SQL 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1520581/

相关文章:

c# - 如果不满足某些条件,如何停止加载 .NET 应用程序

c# - 我能否以编程方式覆盖客户端 app.config WCF 端点地址?

android - Web API 的 API key /应用程序 ID 和 key 如何关联?它们如何协同工作?

c# - 外部 DNS 查找 Web 服务 (NSLOOKUP/DiG)

c# - 复杂的 LINQ-TO-SQL 解决方案......或者只是我的经验不足?

c# - 我如何在 T-SQL/Linq 中查询这个复杂的查询?

c# - LINQ to SQL - 没有可用的添加方法

c# - C# 中带有查询的 Datagridview

c# - 为什么 this.close() 关闭应用程序

iphone - iPhone 应用程序的 POST REST-Web 服务调用