zoukankan      html  css  js  c++  java
  • C# WebService快速入门

    本文通过一个简单的例子演示了WebService项目的建立与应用。

    环境:Win10 64Bit,VS2013


    新建WebService项目:文件|新建|项目,打开新建项目对话框,选择 .NET Framework 3.5,否则看不到“ASP.NET Web 服务应用程序”。

    项目建成后,可以看到项目目录下有一个Service1.asmx,双击打开的是Service1.asmx.cs,里面有一个类Service1,以及HelloWorld的方法。

    ServiceA.asmx|右键|重命名,修改为ServiceA.asmx,对应cs文件的名字也会同时修改,但是类Service1并没有跟着改,Ctrl+Shift+F,全局搜一下Service1,把他们都改过来。

    修改Service1.asmx.cs如下:

            [WebMethod]
            public string MyFunc1(string s)
            {
                return "MyFunc1 is called, parameter:" + s;
            }
    
            [WebMethod]
            public string MyFunc2(string s)
            {
                return "MyFunc2 is called, parameter:" + s;
            }

    Debug栏里选择IE,生成并运行,IE地址栏显示:http://localhost:6948/ServiceA.asmx,并有一些接口说明。

    项目|右键|添加|Web 服务(ASMX),名称输入ServiceB,确定,方法保持缺省的He'llWorld,生成并运行,IE地址栏显示:http://localhost:6948/ServiceB.asmx

    说明:

    在VS中打开ServiceA的情况下运行,IE打开http://localhost:6948/ServiceA.asmx;

    在VS中打开ServiceB的情况下运行,IE打开http://localhost:6948/ServiceB.asmx;

    如果两个都关闭,调试运行会打开http://localhost:6948/,并显示错误,可以添加一个Index.html,在里面加上两个Service的地址链接。


    接下来建立一个新的项目来使用WebService。注意:保持http://localhost:6948/ServiceA.asmx为打开状态。

    新建一个控制台应用程序,控制台项目|右键|添加|服务引用,打开【添加服务引用】对话框,在地址栏中输入“http://localhost:6948/ServiceA.asmx”,点【转到】,在服务中列出了“ServiceA”,命名空间输入“ServiceReferenceA”,【确定】。

    可以看到项目中多了一个“Service References”文件夹,里面有一个ServiceReferenceA。

    在Program.cs中添加代码如下:

            static void Main(string[] args)
            {
                ServiceReferenceA.ServiceASoapClient s = new ServiceReferenceA.ServiceASoapClient();
                Console.WriteLine(s.MyFunc1("I1"));
                Console.WriteLine(s.MyFunc2("I2"));
            }

    生成并运行。如果IE关闭,对应的IIS Express也关了,再运行就会出异常。

    读者可自己尝试添加http://localhost:6948/ServiceB.asmx的服务。

  • 相关阅读:
    bzoj 1689: [Usaco2005 Open] Muddy roads 泥泞的路【贪心】
    bzoj 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛【二分+贪心】
    bzoj 3401: [Usaco2009 Mar]Look Up 仰望【单调栈】
    bzoj 1652: [Usaco2006 Feb]Treats for the Cows【区间dp】
    bzoj 1718: [Usaco2006 Jan] Redundant Paths 分离的路径【tarjan】
    bzoj 1655: [Usaco2006 Jan] Dollar Dayz 奶牛商店【高精度+完全背包】
    洛谷 P3121 [USACO15FEB]审查(黄金)Censoring (Gold) 【AC自动机+栈】
    bzoj 3942: [Usaco2015 Feb]Censoring【kmp+栈】
    bzoj 1578: [Usaco2009 Feb]Stock Market 股票市场【背包】
    性能优化一大推
  • 原文地址:https://www.cnblogs.com/zhuyingchun/p/6603911.html
Copyright © 2011-2022 走看看