- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在创建一个 WCF 服务,该服务目前使用 basicHttpBinding 公开许多契约(Contract)。但是,我现在想在同一台机器上本地使用该服务,而 netNamedPipeBinding 在性能方面似乎更合适。出于这个原因,我想使用命名管道和 HTTP 公开服务。
目前我正在使用以下配置执行此操作:
<service name="WCFService.MyService" behaviorConfiguration="serviceBehaviour">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/MyService" />
<add baseAddress="net.pipe://localhost/MyService" />
</baseAddresses>
</host>
<endpoint address="calculator" binding="basicHttpBinding" contract="WCFService.ICalculatorService" />
<endpoint address="database" binding="basicHttpBinding" contract="WCFService.IDatabaseService" />
</service>
这似乎工作正常,但仔细检查端点仍在使用 basicHttpBinding。这行得通,但我的印象是它造成了不必要的开销。
我是否需要为每个契约(Contract)和每个绑定(bind)类型(即 basicHttpBinding 和 netNamedPipeBinding)创建一个端点,或者我这样做是完全错误的吗?
(如果不清楚,我是 WCF 新手!)
最佳答案
是的,您需要指定多个端点(每个绑定(bind) 1 个端点):
<endpoint address="calculator" binding="basicHttpBinding" contract="WCFService.ICalculatorService" />
<endpoint address="database" binding="basicHttpBinding" contract="WCFService.IDatabaseService" />
<endpoint address="calculator" binding="netNamedPipeBinding" contract="WCFService.ICalculatorService" />
<endpoint address="database" binding="netNamedPipeBinding" contract="WCFService.IDatabaseService" />
关于c# - WCF HTTP 和 NamedPipe 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484953/
这是我的问题的一个简单示例。我正在编写一个应用程序,它自己托管 WCF 服务,仅在用户 session 中进行通信。当多个用户在终端服务机器上同时运行这个应用程序时,只要他们没有本地管理员权限,所有用
对于简单的 IPC,我选择了 NamedPipes 在进程(本地)之间进行通信。 由于不断变化的需求,应该有多个服务器实例,这会导致同一管道名称上有多个“监听器”。 但是好像有问题。这些监听器中只有一
我有一个像这样创建的 c# namedpipe 服务器: NamedPipeServerStream pipeServer = new NamedPipeServerStream(IVConstan
我正在使用来自 this article 的代码唯一不同的是 maxNumberOfServerInstances 在 NamedPipeServerStream 中设置为 -1(具有相同管道名称
我正在尝试通过 NamedPipe 传递异常类型(或其子类之一)的对象。 服务合约: [ServiceContract] public interface IWCFCallback { [Op
我正在为 C++11 编写 NamedPipe 提取,并希望拥有以下 API*: template class NamedPipe final { public: void O
我正在制作一个简单的客户端服务器管道示例作为练习。服务器将使用命名管道从客户端接收字符串。服务器将从客户端接收到的字符串中每个字符的大小写反转,并使用管道将字符串发送回客户端。它有效,但我写入管道的字
我正在使用 WCF NamedPipesService 在两个进程之间执行 IPC。保护 WCF 服务以便只有我的进程可以访问它们的最简单方法是什么? 我尝试查看 WCF 文档,但它看起来非常复杂,并
我创建了一个允许通过命名管道进行通信的 Windows 服务。 当我编写一些单元测试来启动管道并测试通信时,这段代码工作正常,但现在我在我的 Windows 服务中安装了相同的代码,但出现以下错误:
我现在正在实现我的学术项目软件,使用命名管道技术通过网络连接异构系统。我使用了.net framework 4和C#语言。问题是如果服务器没有准备好或不可用,客户端程序将无法继续。客户端命名管道不断尝
我有一个 C/C++ Windows 服务实现,它部署在两个不同的服务器上,使用 NamedPipe 以便它们可以相互通信。 我遵循最小权限原则,将服务帐户分配给“NT AUTHORITY/Netwo
使用QT通过Namedpipe发送数据时出现数据追加问题 本地服务器.h #ifndef LOCALSERVER_H #define LOCALSERVER_H #include "QLocalSoc
我想知道是否有一种方法可以在 Windows 平台上从服务器端检测客户端管道句柄的状态。 即使客户端使用 CloseHandle() 函数关闭了管道(断开连接),但似乎无法从服务器端检测到它。 将Wa
我正在使用 NamedPipes 在我们的 Windows 应用程序的不同模块之间进行通信。在某一时刻,读取操作可能需要很长时间,所以我们想添加一个超时。我像这样添加了 OVERLAPPED 标志:
我和一位同事就选择发生了争执。我们有两个进程在同一台机器上运行。 => NamedPipe 和 UDP 是内核对象,据我所知这是相同的开销。 UDP 的优势在于,如果明天我们将这两个进程分开,它们将在
我正在使用一个 Windows 服务,我也想在其中添加一个 GUI。我通过我的服务创建一个 ServiceHost 对象并托管 WCF 命名管道服务进行了概念验证,然后我使用控制台应用程序来使用 WC
我正在创建一个 WCF 服务,该服务目前使用 basicHttpBinding 公开许多契约(Contract)。但是,我现在想在同一台机器上本地使用该服务,而 netNamedPipeBinding
你好 如果我们向客户端/服务器来回传递少量数据,那么 tcp/ip 的开销可以忽略不计并且性能与同一台机器上的 NamedPipe 相同,这是真的吗? 最佳答案 与其说是数据量,不如说是请求数。换句话
我需要从 C++ 端启动一个命名管道服务器,并让一个 Java 应用程序从管道中读取。 对于创建管道的 C++ 端,我遵循了 MSDN 中的示例: https://msdn.microsoft.com
你能告诉我在 .net 3.5 中通过 NamedPipes 发送对象的最佳方式是什么吗? 最佳答案 通过 XmlSerializer 序列化您的对象比send it as a text并在另一端反序
我是一名优秀的程序员,十分优秀!