Tôi gặp sự cố khi gọi tới điểm kết thúc WCF webHttpBinding bằng cách sử dụng HttpClient và thuộc tính BaseAddress.HttpClient với BaseAddress
HttpClient
Tôi tạo ra một trường hợp HttpClient xác định tài sản như một thiết bị đầu cuối máy chủ địa phương BaseAddress.
GetAsync Gọi
Sau đó tôi gọi GetAsync phương pháp đi qua trong inforamtion Uri bổ sung.
HttpResponseMessage response = await client.GetAsync(string.Format("/Layouts/{0}", machineInformation.LocalMachineName()));
endpoint Dịch vụ
[OperationContract]
[WebGet(UriTemplate = "/Layouts/{machineAssetName}", ResponseFormat = WebMessageFormat.Json)]
List<LayoutsDto> GetLayouts(string machineAssetName);
Vấn đề
Vấn đề tôi đang gặp là là /AndonService.svc
phần của BaseAddress đã được cắt ngắn nên cuộc gọi kết quả đi đến https://localhost:44302/Layouts/1100-00277
thay vì https://localhost:44302/AndonService.svc/Layouts/1100-00277
dẫn đến 404 Không tìm thấy.
Có lý do nào để BaseAddress bị cắt bớt trong cuộc gọi GetAsync không? Làm thế nào để tôi có được điều này?
thể trùng lặp của [? Tại sao HttpClient BaseAddress không làm việc] (http://stackoverflow.com/questions/23438416/why-is-httpclient-baseaddress- không hoạt động) –