XmlRpcClient.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using CookComputing.XmlRpc;
  2. namespace MeasureThread
  3. {
  4. /// <summary>
  5. /// 客户端服务类-> 公共工具类(XmlRpcClient)
  6. /// </summary>
  7. public static class XmlRpcClient
  8. {
  9. // 访问路径http://localhost:8080/XmlRpcWebServer
  10. //public static string urlstring = "http://localhost:8019/MathService.ashx";
  11. /// <summary>
  12. /// 获取接口:用于调用方法;
  13. /// </summary>
  14. /// <param name="urlstr">访问服务器服务类路径</param>
  15. /// <returns>instance</returns>
  16. public static IMethod getInstance(string urlstr)
  17. {
  18. // 用XmlRpcProxyGen创建接口: 只有此接口实现IXmlRpcProxy接口才能添加url值;
  19. IMethod service = XmlRpcProxyGen.Create<IMethod>();
  20. service.XmlEncoding = new System.Text.UTF8Encoding();
  21. service.Url = urlstr;
  22. return service;
  23. }
  24. /// <summary>
  25. /// 对焦
  26. /// </summary>
  27. /// <returns></returns>
  28. public static string autofocusstig(int search_step, int iter_n, double wd_searh_factor, double stig_range, double iter_range_damping, string urlstr)
  29. {
  30. string xrs;
  31. //调取接口方法
  32. IMethod method = getInstance(urlstr);
  33. xrs = method.autofocusstig( search_step, iter_n, wd_searh_factor, stig_range, iter_range_damping);
  34. return xrs;
  35. }
  36. /// <summary>
  37. /// 对焦
  38. /// </summary>
  39. /// <returns></returns>
  40. public static string autofocus(int search_step, double wd_searh_factor, double retry, bool refine, string urlstr)
  41. {
  42. string xrs;
  43. //调取接口方法
  44. IMethod method = getInstance(urlstr);
  45. xrs = method.autofocus( search_step, wd_searh_factor, retry, refine);
  46. return xrs;
  47. }
  48. }
  49. }