我正在使用Microsoft ASP.NET Web API 2
,我的一个端点必须在内部调用遗留的asmx
Web服务.
这是正确的方法吗?
................................................... WebRequest req = WebRequest.Create(myWebServiceURL); req.Method = "POST"; eq.ContentType = "application/x-www-form-urlencoded"; string postData = whateverDataNeedsToBePosted; using ( Stream reqStream = req.GetRequestStream() ) { reqStream.Write( new ASCIIEncoding().GetBytes( postData ), 0, postData.Length ); reqStream.Close(); } WebResponse resp = req.GetResponse();
................................................
更新:我确实有一堆非Microsoft技术Web服务(没有asnx或svc).上述方法对于那些类型的服务是否足够好?
这会奏效,但你的生活很艰难:)
您可以在Visual Studio中向项目添加服务引用,并在ASMX服务中调用方法,就像调用引用的DLL中的方法一样.看到这篇文章.
更新:
是的,您调用其他服务的方法可行,但我会检查是否将您的其他服务作为服务引用添加到您的项目中.服务引用功能适用于各种协议(无论是否使用Microsoft技术构建).