博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于WebService的一些注意事项
阅读量:5334 次
发布时间:2019-06-15

本文共 2387 字,大约阅读时间需要 7 分钟。

    1.WS须支持可序列化的对象,对泛型 支持不够

    2.WS的发部  :  先 生成网站,再  发部网站。

    以下是WS的一些代码

using System;

using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;

[System.Web.Script.Services.ScriptService]

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
   public Service () {

      //如果使用设计的组件,请取消注释以下行

     //InitializeComponent();
    }

     [WebMethod]

     public string HelloWorld() {
       return "Hello World";
    }

/// <summary>
/// 没有【WebMethod】则为内部方法
/// </summary>
/// <returns></returns>
[System.Web.Script.Services.ScriptMethod]
public string Hello()
{
return "Hello";
}

[WebMethod]
public int Add(int m, int n)
{
return m + n;
}

[WebMethod]

public string[] GetRandom(int m)
{
Random r = new Random();

string[] str = new string[m];

for (int i = 0; i < m; i++)
{
str[i] = r.Next(1,100).ToString();
}
return str;

}

/// <summary>

/// web Service对现有的泛型支持不够,将以用字符串数组替换
/// </summary>
/// <param name="m"></param>
/// <returns></returns>
[WebMethod]
public List<string> GetCollection(int m)
{
Random r = new Random();

List<string> list=new List<string>();

for(int i=0;i<m;i++)

{
list.Add(r.Next(1,100).ToString());
}

return list;

}

    [WebMethod]

 public DataTable GetProducts(int CategoryID)
  {
     SqlConnection sqlcon = new SqlConnection("server=.;uid=sa;pwd=;database=NorthWind");
     sqlcon.Open();

     SqlDataAdapter sda = new SqlDataAdapter("select * from Product where 类别ID="+CategoryID,sqlcon);

     DataSet ds = new DataSet();
     sda.Fill(ds,"temp");
     sqlcon.Close();

     return ds.Tables["temp"];

   }
}

 

3.在项目中调用WS

     先在项目中添加Web引用,将Ws 服务地址的URL 如:http://lockhost/ibeifeng/service.asmx ,更改Web 引 用名(如:localhost),添加引用。

4.具体调用,假设置WS引用名为localhost

protected void Button1_Click(object sender, EventArgs e)

{
    //生成代理类
    localhost.Service ws = new localhost.Service();
    //测试服务1
    //Response.Write(ws.HelloWorld());

    //测试服务2

    //Response.Write(ws.Add(10,6));

    //测试服务3

    // this.DropDownList1.DataSource=ws.GetRandom(10);
    // this.DropDownList1.DataBind();

    //测试服务4

    this.GridView1.DataSource = ws.GetProducts(int.Parse(this.TextBox1.Text));
    this.GridView1.DataBind();
}

 

     

转载于:https://www.cnblogs.com/yingger/archive/2012/05/25/2518120.html

你可能感兴趣的文章
PHP zip压缩文件及解压
查看>>
SOAP web service用AFNetWorking实现请求
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
Windows Phone开发(5):室内装修 转:http://blog.csdn.net/tcjiaan/article/details/7269014
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>
jQuery上传插件Uploadify 3.2在.NET下的详细例子
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
新手村之循环!循环!循环!
查看>>
正则表达式的用法
查看>>
线程安全问题
查看>>
SSM集成activiti6.0错误集锦(一)
查看>>
下拉刷新
查看>>
linux的子进程调用exec( )系列函数
查看>>
MSChart的研究
查看>>
C# 索引器
查看>>
MySQLdb & pymsql
查看>>