发布WebServices

1、创建  ASP.NET Web 服务应用程序 SayHelloWebServices

这里需要说明一下,由于.NET Framework4.0取消了WebServices的创建,所以目标框架只有你选择了2.0才能看见创建“ASP.NET Web 服务应用程序”条目。

2、创建好之后,系统自带的一个HelloWorld()方法

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.Services;

namespace SayHelloWebServices

{

/// <summary>

/// Service1 的摘要说明

/// </summary>

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.ComponentModel.ToolboxItem(false)]

public class Service1 : System.Web.Services.WebService

{

[WebMethod]

public string HelloWorld()

{

return "Hello World";

}

}

}

这里注意方法前面有 [WebMethod] 声明,如果想增加方法,一定要加上这个。

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.Services;

namespace SayHelloWebServices

{

/// <summary>

/// Service1 的Ì?摘a要°a说¦Ì明¡Â

/// </summary>

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.ComponentModel.ToolboxItem(false)]

public class Service1 : System.Web.Services.WebService

{

[WebMethod]

public string HelloWorld()

{

return "Hello World";

}

[WebMethod]

public string HelloWorld1()

{

return "Hello World";

}

}

}

3、发布服务,项目右键——发布

如下图进行配置,选择文件系统,目标位置是你想要发布到什么地方,这里我选择E:\Web

 

4、配置完成之后,点击发布。

5、接下来配置IIS服务器,WIN7参考http://www.jb51.net/article/29787.htm,XP自己到网上找找方法,也很简单。

6、IIS服务器配置好,添加网站

如下配置,名称随便输,物理路径就是上面选择发布的路径,主机名是本机就写localhost,点击确定

 

还有就是配置目录浏览—属性—启用,不然看不到WebServices服务

如果网站没启动,在右边栏启动

7、启动之后,点击浏览localhost on *:80(http),就可以看到写到项目了。

 

到此,就算真正发布成功了。

可能会碰到的问题(我碰到的问题,都在文章后面总结了一下,如果你们也碰到了,那就太巧了,还有不可预料的问题就自己Google,baidu吧)

调用WebServices

1、  建立一个控制台应用程序SayHelloByWebServices,来测试一下

首先添加Web引用

这里选择本地计算机上的Web服务

选择Services1

出现了我们写的两个方法,起个Web引用名(这里我用默认的),点击添加引用

项目中就可以看到这条服务了

2、  调用Program.cs代码:

using System;

using System.Collections.Generic;

using System.Text;

namespace SayHelloByWebServices

{

class Program

{

static void Main(string[] args)

{

localhost.Service1 services = new localhost.Service1();

Console.WriteLine(services.HelloWorld());

Console.WriteLine(services.HelloWorld1());

}

}

}

OK,编译,保存,关闭项目,打开项目所在位置

双击运行 SayHelloByWebServices.exe (注意第一部分第6步,网站一定要是启用状态)

运行结果:

这个搞完还是有点小成就感的,哈,趁着还有感觉,写个随笔记下来,万一以后又不会了呢?

项目中遇到的问题

1、这个我承认比较低级,选择发布的位置刚开始我选择的是项目所在的位置,因为没看清楚提示,还重启电脑…好吧,最后选择的是新位置E:\Web文件夹。

2、这个错误和上面的是连带错误,我重启了一下,不知怎的提示这个服务停掉了。

提示停掉了,那我就给他开启。

C# 创建WebServices及调用方法的更多相关文章

  1. C#反射动态创建实例并调用方法

    在.Net 中,程序集(Assembly)中保存了元数据(MetaData)信息,因此就可以通过分析元数据来获取程序集中的内容,比如类,方法,属性等,这大大方便了在运行时去动态创建实例. MSDN解释 ...

  2. [No000085]C#反射Demo,通过类名(String)创建类实例,通过方法名(String)调用方法

    using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...

  3. 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。

    22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...

  4. C# 创建Dll文件供程序调用方法

    C# 创建Dll文件供程序调用方法 使用C#创建动态Dll文件方法: 1.  在VS2017环境下,新建-项目-选择类库类型: 2. 新创建一个.cs文件(如test.cs),编写代码如下: usin ...

  5. HTML Help WorkShop 创作、调用方法和技巧

    一.在CHM 文件中所用到的弹出式菜单: 二.在HTML Help WorkShop 中不用显示的样式   (1).从右到右阅读顺序. (2).对话框 (3).滚动条在左边 (4).仅展开单个标题   ...

  6. ThinkPHP跨控制器调用方法

    跨控制器调用方法 1. 先造对象,再调用里面的方法 $sc=new \Home\Controller\IndexController();  用绝对路径找echo $sc->ShuChu(); ...

  7. C# 反射之调用方法谈

    反射的定义 反射提供了描述程序集.模块和类型的对象(Type 类型). 可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性. 如果代码中使用了特性 ...

  8. 为什么Javascript中的基本类型能调用方法?

    我们从一道笔试题说起: var str = 'string'; str.pro = 'hello'; console.log(str.pro + 'world'); 输出啥?要理解这个问题,我们得从头 ...

  9. Gradle学习系列之二——创建Task的多种方法

    在本系列的上篇文章中,我们讲到了Gradle入门,在本篇文章中我们将讲到创建Task的多种方法. 请通过以下方式下载本系列文章的Github示例代码: git clone https://github ...

随机推荐

  1. AOP和IOC个人理解

    14:18 2014/5/5 IOC inversion of control 控制反转  将new对象的权力由调用者转移到spring容器(即xml文件),Struts2与Spring整合(scop ...

  2. Qt库的静态编译

    一.准备软件1. MinGW     (C:\Qt\MinGW)http://pan.baidu.com/share/link?shareid=174269&uk=673227135这个文件解 ...

  3. python 知识 rstrip,strip,lstrip

    rstrip,strip,lstrip 作用:去除字符串中的空格或指定字符 一.默认用法:去除空格str.strip()  : 去除字符串两边的空格str.lstrip() : 去除字符串左边的空格s ...

  4. putty连接linux as5 输入密码后连接中断

    putty连接linux as5 输入密码后连接中断 1.修改putty首页的设置,选择“close session on exit” 为 “never”,之后发现输入密码后,“session clo ...

  5. SQL Server 2008 设计与实现笔记(一)

    Chart5 create database MovieRental; select name, SUSER_SNAME(sid) as [login] from sys.database_princ ...

  6. c缺陷与陷阱笔记-第一章 词法陷阱

    1.运算符的贪心性,匹配最长的运算符,例如 n-->0,从-开始,-是运算符,--是运算符,-->就不是,所以是 n -- > 0,--是 a---b,-是,--是,,---不是,所 ...

  7. SQLite入门与分析(四)---Page Cache之事务处理(1)

    写在前面:从本章开始,将对SQLite的每个模块进行讨论.讨论的顺序按照我阅读SQLite的顺序来进行,由于项目的需要,以及时间关系,不能给出一个完整的计划,但是我会先讨论我认为比较重要的内容.本节讨 ...

  8. Windows8、Windows8.1和Microsoft Office 2013激活

    KMS激活软件: 什么是KMS?什么是伪激活?http://tieba.baidu.com/p/3224677648 KMSpico激活软件:链接: http://pan.baidu.com/s/1e ...

  9. laravel5的坑

    以此记录学习laravel的一些问题 问题:laravel转移文件夹到另外一pc或者环境后访问出现500 设置权限为777 问题: 设置路由后页面总是404 not found 解决:需要在apach ...

  10. MyEclipse常用设置笔记

    1. Myeclipse下去掉SVN用户名和密码,就只能删除Subversion的auth目录 windows平台 Win7: 1.进入c:/Users/[你的用户名]/AppData/Roaming ...