【问题标题】:Using soap services(.asmx) with Azure Service fabric将肥皂服务 (.asmx) 与 Azure 服务结构一起使用
【发布时间】:2017-10-30 10:32:33
【问题描述】:
我正在将现有服务迁移到 Azure 服务结构。我现有的应用程序支持旧用户的肥皂服务(asmx)。我想使用相同的 Web 服务作为我的微服务的一部分。该 Web 服务 test.asmx(say) 也可以从 Rest APIs 调用(如果有 soln)。但我没有找到任何方法将肥皂服务用作 Azure 服务结构微服务方法的一部分。帮助我找出解决 Web 服务场景的可能解决方案。谢谢!
【问题讨论】:
标签:
web-services
rest
soap
microservices
azure-service-fabric
【解决方案1】:
我建议converting 将您的 ASMX 服务转换为带有 BasicHttpBinding 的 WCF 服务。然后,您可以在无状态 SF 服务中托管您的 WCF 服务,如 here 所示。
private static ICommunicationListener CreateRestListener(StatelessServiceContext context)
{
string host = context.NodeContext.IPAddressOrFQDN;
var endpointConfig = context.CodePackageActivationContext.GetEndpoint("CalculatorEndpoint");
int port = endpointConfig.Port;
string scheme = endpointConfig.Protocol.ToString();
string uri = string.Format(CultureInfo.InvariantCulture, "{0}://{1}:{2}/", scheme, host, port);
var listener = new WcfCommunicationListener<ICalculatorService>(
serviceContext: context,
wcfServiceObject: new WcfCalculatorService(),
listenerBinding: new BasicHttpBinding(BasicHttpSecurityMode.None),
address: new EndpointAddress(uri)
);
return listener;
}