Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 确定WCF net.tcp终结点地址是否有效_C#_Wcf - Fatal编程技术网

C# 确定WCF net.tcp终结点地址是否有效

C# 确定WCF net.tcp终结点地址是否有效,c#,wcf,C#,Wcf,我正在构建一个工具,用于验证一组应用程序在灾难恢复迁移到非站点位置后是否可以访问一组应用程序使用的所有接触点(DB连接字符串、邮件服务器、web服务、WCF服务等) 该工具必须检查给定的net.tcp端点地址是否有效且可访问,无需生成客户端代理,也无需考虑实际WCF客户端使用的绑定或行为。该工具不需要调用任何服务方法,仅由系统管理员使用高度特权域凭据运行 对于基于HTTP的服务,很容易做到这一点: hwrRequest = (HttpWebRequest)WebRequest.Create(i_

我正在构建一个工具,用于验证一组应用程序在灾难恢复迁移到非站点位置后是否可以访问一组应用程序使用的所有接触点(DB连接字符串、邮件服务器、web服务、WCF服务等)

该工具必须检查给定的net.tcp端点地址是否有效且可访问,无需生成客户端代理,也无需考虑实际WCF客户端使用的绑定或行为。该工具不需要调用任何服务方法,仅由系统管理员使用高度特权域凭据运行

对于基于HTTP的服务,很容易做到这一点:

hwrRequest = (HttpWebRequest)WebRequest.Create(i_WebServiceUrl);
hwrRequest.Timeout = i_nTimeoutSeconds * 1000;
hwrResponse = (HttpWebResponse)hwrRequest.GetResponse();
if (hwrResponse.StatusCode == HttpStatusCode.OK)
:
:

WCF net.tcp服务是否有同等的技术?

首先,为什么您希望您的WebRequest代码能够工作?如果服务没有生成元数据,或者没有响应HTTP GET谓词,则响应将超时


我建议您创建一个管理服务合同,并在所有服务中实施它。您可能只想在该契约中添加一个
Ping()
方法,但也可以决定添加其他方法。

感谢您的回复。是的,我希望我们能在每个web/WCF服务中都有一个带有Ping()方法的管理合同,但是有几十个不同年龄段的服务,这将是一项主要任务。所有新服务都有Ping()和PingDependencies()方法。我希望WCF有一个原始的ping功能,以确保端点有效且处于活动状态。此外,上面的WebRequest代码适用于我们所有基于HTTP的WCF服务。它返回标准的“You have created a service”页面。所有服务都提供元数据,因此可以使用WCF测试客户端对其进行测试。