gpt4 book ai didi

Azure InstanceInput 终结点使用情况

转载 作者:行者123 更新时间:2023-12-02 17:49:15 25 4
gpt4 key购买 nike

有人可以发布使用 InstanceInput 端点的示例代码吗?我在辅助角色中使用了以下配置,其中示例 WCF 服务在端口 8080 进行监听。

<Endpoints>
<InstanceInputEndpoint name="InstanceAccess" protocol="tcp" localPort="8080">
<AllocatePublicPortFrom>
<FixedPortRange max="10105" min="10101" />
</AllocatePublicPortFrom>
</InstanceInputEndpoint>
</Endpoints>

但是我无法使用任何端口 10101 到 10105 从外部使用者访问此 WCF 服务。我们是否应该使用 Azure 服务的公共(public) DNS 名称以及给定范围内的公共(public)端口?

此外,我无法从辅助角色 OnStart() 方法中访问此端点详细信息。我使用了 RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["InstanceAccess"]。但它不返回 RoleInstanceEndpoint。我在这里遗漏了什么吗?

最佳答案

Here是一个示例 Visual Studio 解决方案,它使用 Azure InstanceInput 终结点并在辅助角色上托管 WCF 服务。可以使用 Azure DNS 名称和映射到该实例的公共(public)端口来访问在每个单独实例上运行的 WCF 服务。我使用了以下端点配置。

  <Endpoints>
<InstanceInputEndpoint name="Endpoint1" protocol="tcp" localPort="10100">
<AllocatePublicPortFrom>
<FixedPortRange max="10110" min="10106" />
</AllocatePublicPortFrom>
</InstanceInputEndpoint>
</Endpoints>

不知何故无法从 WorkerRole 中访问此端点(OnStart() 和 Run() 方法)。所以我使用了“localhost”。

  string endpointIP = "localhost:10100";

if (RoleEnvironment.CurrentRoleInstance.InstanceEndpoints.Keys.Contains("Endpoint1"))
{
IPEndPoint externalEndPoint = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint;
endpointIP = externalEndPoint.ToString();
}

该解决方案还包含一个控制台客户端,它使用托管 DNS 名称来调用这些单独的 WCF 服务。

关于Azure InstanceInput 终结点使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11201660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com