一、服務端添加引用,SoapCore,版本是:1.1.0.10

二、創建DTO類
[DataContract] public class CallRequest { /* 接口規范為 (ip不為空的情況): {"YSYHID":"26036","YSXM":"曾禮特","PBID":"794961","BRBH":"00015501296380","ZKID":"42","FJID":"89","FJMC":"2號診室","FZYYID":"1260503", "CHBZ":"0","JZRQ":"","ZSPIP":"192.168.1.100"} (ip為空的情況): {"YSYHID":"26036","YSXM":"曾禮特","PBID":"794961","BRBH":"00015501296380","ZKID":"42","FJID":"89","FJMC":"2號診室","FZYYID":"1260503","CHBZ":"0","JZRQ":"","ZSPIP":""} */ /// <summary> /// 呼叫醫生ID /// </summary> [DataMember] public string YSYHID { get; set; } /// <summary> /// 醫生姓名 /// </summary> [DataMember] public string YSXM { get; set; } /// <summary> /// 排班id /// </summary> [DataMember] public string PBID { get; set; } /// <summary> /// 病人編號 /// </summary> [DataMember] public string BRBH { get; set; } /// <summary> /// 科室代碼 /// </summary> [DataMember] public string ZKID { get; set; } /// <summary> /// 房間ID /// </summary> [DataMember] public string FJID { get; set; } /// <summary> /// 房間名稱 /// </summary> [DataMember] public string FJMC { get; set; } /// <summary> /// 分診預約ID /// </summary> [DataMember] public string FZYYID { get; set; } /// <summary> /// 重呼標記 /// </summary> [DataMember] public string CHBZ { get; set; } /// <summary> /// 就診日期 /// </summary> [DataMember] public string JZRQ { get; set; } /// <summary> /// 診室屏IP /// </summary> [DataMember] public string ZSPIP { get; set; } }
三、服務端創建接口,用於暴露,
[ServiceContract] public interface ICallRequestService { [OperationContract] CallRequest Call(CallRequest s); }
四、創建實現類,
public class CallRequestService : ICallRequestService { public CallRequest Call(CallRequest s) { return new CallRequest() { BRBH ="9999999999999" }; } }
五、注入服務
services.TryAddSingleton<ICallRequestService, CallRequestService>();
六、服務端添加中間件
var binging = new BasicHttpBinding(); binging.ReaderQuotas.MaxStringContentLength = int.MaxValue; app.UseSoapEndpoint<ICallRequestService>("/CallRequestService.asmx", binging, SoapSerializer.XmlSerializer);
七、創建客戶端,使用mvc框架

八、添加webservice引用,一定要聯網,不然無法配置,發現服務,添加服務

九、調用服務,並且返回結果
public async void OnGet() { ServiceReference1.CallRequestServiceClient callRequestServiceClient = new ServiceReference1.CallRequestServiceClient(); ServiceReference1.CallRequest callRequest = new ServiceReference1.CallRequest() { BRBH = "666666" }; var r =await callRequestServiceClient.CallAsync(callRequest); int a = 0; }
