c# – 通过Microsoft Web API端点调用Web服务 – asmx?

我正在使用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 ),postData.Length );
            reqStream.Close();
       }
 WebResponse resp = req.GetResponse();

…………………………………………

更新:我确实有一堆非Microsoft技术Web服务(没有asnx或svc).上述方法对于那些类型的服务是否足够好?

解决方法

这会奏效,但你的生活很艰难:)

您可以在Visual Studio中向项目添加服务引用,并在ASMX服务中调用方法,就像调用引用的DLL中的方法一样.见this article.

更新:

是的,您调用其他服务的方法可行,但我会检查是否将您的其他服务作为服务引用添加到您的项目中.服务引用功能适用于各种协议(无论是否使用Microsoft技术构建).

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...