我有一个使用 WCF 构建的第三方应用程序。它作为 Windows 服务安装,wsHttpBinding
并且basicHttpBinding
默认支持。
有没有办法切换到更优化的绑定,例如tcpBinding
or named pipes
?
我将在同一服务器中使用该服务,因此可以选择命名管道。
我想知道我是否可以通过修改windows服务的.config文件在第三方上做到这一点。
我有一个使用 WCF 构建的第三方应用程序。它作为 Windows 服务安装,wsHttpBinding
并且basicHttpBinding
默认支持。
有没有办法切换到更优化的绑定,例如tcpBinding
or named pipes
?
我将在同一服务器中使用该服务,因此可以选择命名管道。
我想知道我是否可以通过修改windows服务的.config文件在第三方上做到这一点。
如果您提到的 WCF 服务器服务使用“.config”文件进行初始化,那么应该可以修改行为(这就是使用配置文件的重点:您可以修改参数而无需重新编译代码)。
尝试添加新的绑定配置并修改端点的“绑定”和“绑定配置”属性以指向新的。
在客户端配置中,设置相同的绑定类型,或者如果您配置了 metadataExchange,请更新服务引用并查看客户端的配置是否已更新。
您只需要在 app.config 中为服务提供一个新的绑定配置,该配置的契约属性与您希望以不同方式托管的类型相匹配。这会创建一个单独的服务主机,它可能对组件/服务很重要,也可能无关紧要。合同属性是这里的关键,因为这是 WCF 将如何确定要使用的绑定/端点配置。“WCF ABC = 地址、绑定、合同”,指定这三个,您应该启动并运行。
还可以通过引用 Web 应用程序项目中的必要程序集,然后创建标识适当基类的必要 .svc 文件,将 Windows 服务 WCF 服务作为 IIS WCF 服务托管。