![]() |
1
3
这个 信息 必须在客户机和服务器之间交换 混凝土 可以在发送方和接收方之间序列化和反序列化的类。这使得来回发送接口几乎不可能。重要的是:你在交换 信息 在客户端和服务器之间- 不是 具有信息和行为的对象。 当他导入服务描述时,客户机看到的所有信息都是“EntityBase”类型的数据契约——他没有看到任何其他信息。数据是在XML模式中描述的,而XML模式则是 不 有一个接口的概念。 请记住:WCF是可互操作的-您的客户端可以是PHP或Java客户端,并且它们可能不支持接口的概念。 你唯一的东西 能够 如果控制服务的两端(服务器和客户机),则需要将服务和数据协定放入它们自己的程序集中,然后在客户机和服务器之间共享该程序集。这样,您就可以在客户机和服务器之间“传输”关于您的服务和数据契约的更多信息, 但是 您在这个过程中失去了任何互操作性的机会。 有关在WCF客户端和服务器之间共享程序集的详细信息,请参阅以下日志:
马克 |
![]() |
2
0
如果您确实需要在生成的代理类型上实现接口,那么另一种方法是对生成的类型进行部分分类。我相信标准生成的代理类通常标记为部分类和公共类。
很自然,您最终还是不得不与客户机和服务器端程序集共享接口,这样就不会像前面的答案中所说的那样解决互操作性问题,也不会免费生成,但有时它是有用的。 与任何服务器端对象的接口相比,我总是喜欢将共享接口保存在单独的程序集中,以避免从服务到客户机的共享类型(否则我会觉得这很混乱)。 |
![]() |
Ehsan Akbar · 当请求被激发时,WCF请求时间会增加 7 年前 |
![]() |
Gans · 具有多操作合约的WCF Rest服务 7 年前 |
![]() |
Moelgaard · NLog中的IIS应用程序名称。配置 7 年前 |
![]() |
Kerwen · WCF服务调用异步函数 7 年前 |