zoukankan      html  css  js  c++  java
  • VS2010 使用WebService

    vs2010上面找不到直接创建webservice模板方式了。可以通过一下方式创建。

    1.如果直接选择 .NET 4.0,可以选择 ASP.NET Empty Web Site/Application 模板,建立空的 Web 网站或项目,在添加新项窗口中,你依然会发现 Web Service 这个项模板。
    2.可以先选择 .NET 2.0/3.0/3.5,就可以选择 ASP.NET Web Services 模板建立了,之后如果需要 .NET 4.0 的新特性,可以在项目属性窗口或网站属性页窗口的 Build 选项卡中选择 .NET 4.0。

    PS:这个是我百度别人。

    首先创建空白解决方案。

     

    然后在解决方案右击-添加-新建项目-选择web应用程序就行

    在应用程序上右击-添加-web服务

     

    添加完成以后可以看到

    里面已经建立了框架

    可以直接运行查看

    点击超链接到下一页

    点击调用到就可以看到用XML格式返回的Web Service结果下图。说明环境搭建成功测试没有问题。

    接下来创建一个简单带有功能的Web Service

    注销原来的代码,写自己接口方法

    [WebMethod(Description = "加法")]
    public double add(double i, double j)
    {
    return i + j;
    }
    [WebMethod(Description = "减法")]
    public double sub(double i, double j)
    {
    return i - j;
    }
    [WebMethod(Description = "乘法")]
    public double mul(double i, double j)
    {
    return i * j;
    }
    [WebMethod(Description = "除法")]
    public double div(double i, double j)
    {
    if (j != 0)
    return i / j;
    else
    return 0;
    }

    运行后可以看到我们自己的方法。

    现在我们来调用它 

     在新建的项目右击添加服务引用,在url 框中输入刚才访问接口的url地址

    (注意不是添加服务引用,方法是:在资源管理器中点击右键,选择【添加服务引用】,点击 【高级】,【添加WEB引用】,调出对话框)

     点击添加引用

     

     如下图,解决方案中会出现引进来的WebService文件

    先在网页上添加几个控件用来测试

     <form id="form1" runat="server">
           <div>
                 <asp:TextBox ID="Num1" runat="server"></asp:TextBox>
                 <select id="selectOper" runat = "server">
                   <option>+</option>
                   <option>-</option>
                     <option>*</option>
                     <option>/</option>
                 </select>
                 <asp:TextBox ID="Num2" runat="server"></asp:TextBox>
                 <span id = E runat = "server"></span>
                <asp:TextBox ID="Result" runat="server"></asp:TextBox>
             </div>
     </form>

    后台代码

    public partial class _Default : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    //在页面加载的时候动态创建一个按钮,在它的事件里调用Webservice
    Button btn = new Button();
    btn.Width = 20;
    btn.Text = " = ";
    btn.Click += new EventHandler(btn_Click);
    E.Controls.Add(btn);
    }


    /// <summary>
    /// 定义动态创建Button的Click事件,在这个事件中调用Webservice
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    void btn_Click(object sender, EventArgs e)
    {
    if (Num1.Text != "" && Num2.Text != "")
    {
    //实例化引用的webservice对象
    localhost.WebService WebserviceInstance = new localhost.WebService();
    int Oper = selectOper.SelectedIndex;
    switch (Oper)
    {
    //通过实例化的webservice对象来调用Webservice暴露的方法
    case 0:
    Result.Text = WebserviceInstance.add(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
    break;
    case 1:
    Result.Text = WebserviceInstance.sub(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
    break;
    case 2:
    Result.Text = WebserviceInstance.mul(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
    break;
    case 3:
    Result.Text = WebserviceInstance.div(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
    break;
    }
    }
    }
    }
    }

    然后开始测试了

    测试成功

  • 相关阅读:
    iMX287A嵌入式Qt环境搭建
    iMX287A多种方法实现流水灯效果
    iMX287A交叉编译环境搭建
    cmake用法及常用命令总结(全)
    webrtc中AGC的应用
    h264和aac封装flv
    C/C++读写文件的几种方法fstream fopen、fwrite()、fread()操作
    关于Git无法提交 index.lock的解决办法
    git回滚到任意版本
    Git Submodule管理项目子模块
  • 原文地址:https://www.cnblogs.com/kgdjgd/p/5652716.html
Copyright © 2011-2022 走看看