我无法从托管在service上的服务调用API,并且配置为使用动态端口。我推荐文档设置内部DNS服务,并在ApplicationManifest.xml中将其命名如下
<Service Name="Data" ServiceDnsName="services.data">我尝试按以下方式调用API:
using (var client = new HttpClient())
{
var response1 = await client.GetAsync("https://services.data/api/v1/countries"); // throws exception
var response2 = await client.GetAsync("https://services.data:30006/api/v1/countries"); // works
}但我注意到,除非在Uri中显式地提供了端口值,否则它无法工作。
发布于 2018-04-18 22:11:58
DNS的概念是将人类可读的字符串转换为IP。
例如:
给定域www.mydomain.com,DNS调用会将其转换为将发送请求的IP 192.168.0.1。
如果您期望客户端在除80(http)之外的任何端口上连接,则必须对www.mydomain.com:81发出请求,并将其转换为192.168.0.1:81
在服务架构DNS上,同样的逻辑也适用。
给定服务:service1 on application1。DNS条目将是:service1.application1 IP解析将重定向到:The node IP
如果您的服务没有侦听端口80上的请求,则客户端必须提供您的服务正在侦听的端口。
https://stackoverflow.com/questions/49905561
复制相似问题