怎么在。net中网络服务进行调用

介绍

这篇文章将为大家详细讲解有关怎么在。net中网络服务进行调用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

,代码如下:



使用系统视图代码;使用System.Collections.Generic
,
使用来;使用包含
,
使用System.Web.Services;
名称空间TestWebService
{
,,,///& lt; summary>
,,,///Service1的摘要说明
,,,///& lt;/summary>
,,,网络服务(名称空间=癶ttp://tempuri.org/"描述=拔业腤eb服务“)]
,,,[WebServiceBinding (ConformsTo=WsiProfiles.BasicProfile1_1)]
,,,[System.ComponentModel.ToolboxItem (false)]
,,,//若要允许使用ASP。净AJAX从脚本中调用此Web服务,请取消对下行的注释。
,,,//[System.Web.Script.Services.ScriptService]
,,,公共类TestWebService: System.Web.Services.WebService
,,,{
,,,,,,,[WebMethod]
,,,,,,,公共字符串HelloWorld ()
,,,,,,,{
,,,,,,,,,,,返回“测试你好World";
,,,,,,,}
,,,,,,,[WebMethod]
,,,,,,,公共字符串测试()
,,,,,,,{
,,,,,,,,,,,返回“测试Test";
,,,,,,,}

,,,,,,,[WebMethod CacheDuration=60,描述=安馐浴?]
,,,,,,,公共Listgetperson ()
,,,,,,,{
,,,,,,,,,,,List列表=new List ();
,,,,,,,,,,,list.Add(“测试一“);
,,,,,,,,,,,list.Add(“测试二“);
,,,,,,,,,,,list.Add(“测试三“);
,,,,,,,,,,,返回列表;
,,,,,,,},
,,,}
}


动态调用示例:
<强>方法一:
看到很多动态调用WebService都只是动态调用地址而已、下面发一个不光是根据地址调用,方法名也可以自己指定的,主要原理是根据指定的WebService地址的WSDL,然后解析模拟生成一个代理类,通过反射调用里面的方法

代码如下:



使用系统视图代码;使用先
,
使用System.Collections.Generic;使用来
,
使用System.Collections;使用包含
,
使用System.Net;使用System.Reflection
,
使用System.CodeDom;使用System.CodeDom.Compiler
,
使用System.Web.Services;使用包含
,
使用System.Web.Services.Description;使用System.Web.Services.Protocols
,
使用System.Xml.Serialization;使用System.Windows.Forms
,
名称空间ConsoleApplication1
{
,,,类项目
,,,{
,,,,,,,静态void Main (string [] args)
,,,,,,,{
,,,,,,,,,,,WebClient客户=new WebClient ();
,,,,,,,,,,,字符串url=癶ttp://localhost: 3182/Service1.asmx ? WSDL";//这个地址可以写在配置文件里面,这里取出来就行了。在原地址后面加上:? WSDL
,,,,,,,,,,,流流=client.OpenRead (url),
,,,,,,,,,,,ServiceDescription描述=ServiceDescription.Read(流);
,,,,,,,,,,,ServiceDescriptionImporter进口国=new ServiceDescriptionImporter();//创建客户端代理代理类。
,,,,,,,,,,,进口国。ProtocolName=癝oap";//指定访问协议。
,,,,,,,,,,,进口国。风格=ServiceDescriptionImportStyle.Client;//生成客户端代理。
,,,,,,,,,,,进口国。CodeGenerationOptions=CodeGenerationOptions。GenerateProperties | CodeGenerationOptions.GenerateNewAsync;
,,,,,,,,,,,进口国。AddServiceDescription(描述、空、空);//添加WSDL文档。
,,,,,,,,,,,CodeNamespace nmspace=new CodeNamespace ();//命名空间
,,,,,,,,,,,nmspace。Name=癟estWebService"
,,,,,,,,,,,null

怎么在。net中网络服务进行调用