我正在将现有服务迁移到Azure Service Fabric。我现有的应用程序支持旧用户的SOAP服务(ASMX(。我想将相同的Web服务作为我的微服务的一部分。该Web Service Test.ASMX(Say(也可以从REST API调用(如果Soln在那里(。但是,我找不到任何使用肥皂服务作为Azure Service Fabric Microservice方法的一部分的方法。帮助我摆脱解决网络服务方案的可能解决方案。谢谢!
我建议将您的ASMX服务转换为使用BASICHTPBINDING的WCF服务。然后,您可以在无状态的SF服务中托管WCF服务,如下所示。
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;
}