gpt4 book ai didi

.net - 什么是 WCF?它可以做什么?

转载 作者:行者123 更新时间:2023-12-04 22:59:10 28 4
gpt4 key购买 nike

我查找了 WCF,但我无法完全弄清楚它是什么。我找到了 this page这似乎是一个应用程序允许其他应用程序调用函数的一种方式。有点像加载 DLL 并调用函数,但使用 TCP 而不是加载 DLL,而是强制用户运行应用程序。

我仍然对此感到困惑。有人能解释一下它的用途吗?

看起来如果我运行两个可以托管相同服务的应用程序,只有第一个会运行,其余的会出错?我可以调用函数,但是有内存限制吗?在堆栈或堆上分配时,我可以将字节 [] 作为参数传递吗?我不能传递文件句柄对吗? (我想不出一个原因)。

我可以让 3 个应用程序成为客户端并且相当容易吗?就像我打开 app1 并打开图像一样。我可以打开 app2 和 3 并让它们对当前加载的图像做不同的事情吗? (应用程序 1)编辑,2)以不同类型(动画 gif、avi、png 等)在内存中导出图像 3)不同的编辑工具或应用程序以查看它在运行时的外观

最佳答案

@acidzombie24,反驳您对 Ryan 回答的评论:

WCF 不是远程函数调用 - 根本不是。恰恰相反!

WCF 是一个基于消息的通信系统 - 您的客户端将拥有一个与服务器具有相同方法的代理。当您在客户端代理上调用此类函数时,WCF 运行时所做的就是将这些方法参数、方法名称和一些 header 包装到 序列化 消息中,然后将其发送到服务器。

在客户端和服务器之间没有像远程协议(protocol)或数据库连接那样始终打开的恒定连接。客户端打包一条消息并将其发送出去。客户端和服务器之间的传输媒体甚至可以是 SMTP(电子邮件)!

一旦服务器收到消息,WCF 运行时将实例化您的服务类的实例来处理该请求。将调用该服务类上的适当方法,传入参数,服务完成其工作,并生成响应。然后,响应以相同的方式(通过传输媒体序列化消息)返回客户端。

WCF 是一个通用的、基于消息的通信系统,使您能够创建分布式系统 - 您的服务器上的某处有一堆服务,当他们调用时,这些服务可以代表客户端执行某些功能。 WCF 类似于 Web 服务 - 远不止于此。它也是消息队列(使用微软的 MSMQ 产品)、网络/TCP 通信等等。而且它比以前的任何通信 API 都更具可扩展性。

关于.net - 什么是 WCF?它可以做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3303124/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com