我的一位用户获得了WCF服务。我想在不添加任何代理的情况下检查服务是否正常工作。有什么方法可以在我的C#代码中实现这一点吗?
答案 0 :(得分:0)
您可以通过在WCF上实现端点并从客户端查询来实现此目的。 以下是我将使用的WCF代码。
// Used for communication between WCF and client. Must be implemented both WCF and client sides
public class Response {
public int Id { get; set; }
public string Data { get; set; }
}
// Web Service - Interface
[ServiceContract]
public interface IService
{
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json,
UriTemplate = "Up")]
string CheckLogin();
}
// Web service - Implementation
public class ServiceImplementation : IService
{
public Response isUp()
{
Response response = new Response();
response.ID = 200;
response.Data = "web service is up";
return response;
}
}
以下是测试服务是否已启动的客户端方法。
public bool CheckIfUp(string encodedUrl)
{
WebRequest request;
WebResponse ws;
Response response = new Response();
string url = "http://servicePath/isUp"; // your wcf url
try
{
request = WebRequest.Create(url);
ws = request.GetResponse();
return (response.ID == 200);
}
catch (Exception e)
{
Console.Write(e.StackTrace);
}
return false;
}
希望这有帮助。
答案 1 :(得分:0)
尝试在指向WCF服务的URL处附加?wsdl
。
如果您的Web服务地址是
http://services.aonaware.com/DictService/DictService.asmx
你可以像这样找到你的wsdl文件:
http://services.aonaware.com/DictService/DictService.asmx?WSDL
返回的WSDL允许您查看WCF服务提供的所有方法。