サービスファブリック内のDNSサービスを使用してサービス間の通信を実現するために、ステートレスサービスを取得しようとしています。私は両方のアプリケーションを郵便配達員と一緒にテストしましたが、うまく動作します。私はthis tutorialに従っていますが、これはかなり簡単です。サービスファブリックでDNSを使用してサービスと通信できません
ステートレスサービスは、DNS名を持っています DNS名はApplicationManifest.xml
<Service Name="SocketService"
ServiceDnsName="SocketService.TimeSeriesActorApplication"
ServicePackageActivationMode="ExclusiveProcess">
<StatelessService ServiceTypeName="SocketServiceType"
InstanceCount="[SocketService_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
に設定されています
私はチュートリアルのように、サービスにhttp getを送信しようとします。
WebException:
using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://socketservice.timeseriesactorapplication:8712/api/"); var response = await client.GetAsync("values"); }
しかし、私は例外を取得リモート名を解決できませんでした: 'socketservice.timeseriesactorapplication' この問題が発生した
を両方とも私は次のようにポート8080を使用する場合チュートリアルでは、ポートを使用するときにServiceManifest.xmlで指定します。
<Endpoints>
<Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8712" />
</Endpoints>
私はここで何が欠けていますか?
更新: dns-nameの代わりにlocalhostを使用すると正常に動作します。 Githubの上
問題:Unable to resolve service DNS name #332
チュートリアルは問題なく終了しました。コールを実行しているクライアントはどこにいますか? –
どちらもローカルサービスファブリッククラスタで実行されるステートレスサービスです。私はもう一度2番目のget要求でもう一方に到達しようとしている郵便配達員のうちの1人にget-requestを行っています。 –
localhostを使って言うと、それはサービス通信のサービスですか? –