如何在 Azure 中使用内部端点。
How to consume internal endpoint in Azure.
我已经弄清楚如何创建内部公开的 WCF 服务,但完全不知道如何从另一个 Web 角色或 Web 应用程序使用此服务?
我遇到了一些示例来回答这个确切的场景,但解释更多信息的链接似乎都已失效。
有人能帮忙吗?
让我们想象一下这个场景:
您有一个 WCF 服务托管在具有内部端点的辅助角色中。它实现了合约 ICalculator,它是一个简单的计算器(ADD、Mult...等)。
在另一端,当单击按钮时,您有一个 Webform 应用程序,您只需发送一些要计算的数据。
这是使用此网络服务的代码:
protected void Button1_Click(object sender, EventArgs e)
{
var factory = new ChannelFactory<WorkerHost.ICalculator>(new NetTcpBinding(SecurityMode.None));
var channel = factory.CreateChannel(GetRandomEndpoint());
Label3.Text =channel.Add (Convert.ToInt32(TextBox1.Text) , Convert.ToInt32(TextBox2.Text)).ToString();
}
getRanDomeEndpoint() 的代码是
private EndpointAddress GetRandomEndpoint()
{
var endpoints= RoleEnvironment.Roles["WorkerHost"].Instances.Select(i=>i.InstanceEndpoints["CalculatorService"].IPEndpoint).ToArray();
var r = new Random(DateTime.Now.Millisecond);
return new EndpointAddress(string.Format("net.tcp://{0}/Calculate", endpoints[r.Next(endpoints.Count() - 1)]));
}
我已经在 azure 上上传了服务,请在此处查看
我已经弄清楚如何创建内部公开的 WCF 服务,但完全不知道如何从另一个 Web 角色或 Web 应用程序使用此服务?
我遇到了一些示例来回答这个确切的场景,但解释更多信息的链接似乎都已失效。
有人能帮忙吗?
让我们想象一下这个场景:
您有一个 WCF 服务托管在具有内部端点的辅助角色中。它实现了合约 ICalculator,它是一个简单的计算器(ADD、Mult...等)。
在另一端,当单击按钮时,您有一个 Webform 应用程序,您只需发送一些要计算的数据。
这是使用此网络服务的代码:
protected void Button1_Click(object sender, EventArgs e)
{
var factory = new ChannelFactory<WorkerHost.ICalculator>(new NetTcpBinding(SecurityMode.None));
var channel = factory.CreateChannel(GetRandomEndpoint());
Label3.Text =channel.Add (Convert.ToInt32(TextBox1.Text) , Convert.ToInt32(TextBox2.Text)).ToString();
}
getRanDomeEndpoint() 的代码是
private EndpointAddress GetRandomEndpoint()
{
var endpoints= RoleEnvironment.Roles["WorkerHost"].Instances.Select(i=>i.InstanceEndpoints["CalculatorService"].IPEndpoint).ToArray();
var r = new Random(DateTime.Now.Millisecond);
return new EndpointAddress(string.Format("net.tcp://{0}/Calculate", endpoints[r.Next(endpoints.Count() - 1)]));
}
我已经在 azure 上上传了服务,请在此处查看