首页 > 编程 > .NET > 正文

深入.net调用webservice的总结分析

2024-07-10 12:45:27
字体:
来源:转载
供稿:网友
最近做一个项目,由于是在别人框架里开发app,导致了很多限制,其中一个就是不能直接引用webservice 。
我们都知道,调用webserivice 最简单的方法就是在 "引用"  那里点击右键,然后选择"引用web服务",再输入服务地址。
确定后,会生成一个app.config 里面就会自动生成了一些配置信息。
现在正在做的这个项目就不能这么干。后来经过一番搜索,就找出另外几种动态调用webservice 的方法。
废话少说,下面是webservice 代码
代码如下:
View Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace TestWebService
{
    /// <summary>
    /// Service1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/",Description="我的Web服务")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class TestWebService : System.Web.Services.WebService
    {
        [WebMethod]
        public string HelloWorld()
        {
            return "测试Hello World";
        }
        [WebMethod]
        public string Test()
        {
            return "测试Test";
        }

        [WebMethod(CacheDuration = 60,Description = "测试")]
        public List<String> GetPersons()
        {
            List<String> list = new List<string>();
            list.Add("测试一");
            list.Add("测试二");
            list.Add("测试三");
            return list;
        } 
    }
}

动态调用示例:
方法一:
看到很多动态调用WebService都只是动态调用地址而已,下面发一个不光是根据地址调用,方法名也可以自己指定的,主要原理是根据指定的WebService地址的WSDL,然后解析模拟生成一个代理类,通过反射调用里面的方法
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表