2010-06-26 83 views
1

我建立一个工具,用于验证是否所有的接触点(DB连接字符串,邮件服务器,Web服务,WCF服务等)的一组应用中都可以访问灾难恢复迁移到异地之后。确定是否WCF的net.tcp端点地址是有效的

刀具必须检查一个给定的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等同技术?

回答

0

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

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

+0

感谢您的答复约翰。是的,我希望我们可以在每个Web/WCF服务中使用Ping()方法签署管理协议,但有几十种不同年龄的服务,这将是一项重大任务。所有新服务都有Ping()和PingDependencies()方法。我希望WCF有一个基本的ping设施,以确保端点是有效的和活着的。 此外,上面的WebRequest代码适用于所有基于HTTP的WCF服务。它返回标准“您已创建服务”页面。所有的服务都提供了元数据,因此可以使用WCF测试客户端进行测试。 – 2010-06-27 18:17:51

相关问题