C# 创建WebServices及调用方法
发布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及调用方法的更多相关文章
- C#反射动态创建实例并调用方法
在.Net 中,程序集(Assembly)中保存了元数据(MetaData)信息,因此就可以通过分析元数据来获取程序集中的内容,比如类,方法,属性等,这大大方便了在运行时去动态创建实例. MSDN解释 ...
- [No000085]C#反射Demo,通过类名(String)创建类实例,通过方法名(String)调用方法
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...
- 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。
22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...
- C# 创建Dll文件供程序调用方法
C# 创建Dll文件供程序调用方法 使用C#创建动态Dll文件方法: 1. 在VS2017环境下,新建-项目-选择类库类型: 2. 新创建一个.cs文件(如test.cs),编写代码如下: usin ...
- HTML Help WorkShop 创作、调用方法和技巧
一.在CHM 文件中所用到的弹出式菜单: 二.在HTML Help WorkShop 中不用显示的样式 (1).从右到右阅读顺序. (2).对话框 (3).滚动条在左边 (4).仅展开单个标题 ...
- ThinkPHP跨控制器调用方法
跨控制器调用方法 1. 先造对象,再调用里面的方法 $sc=new \Home\Controller\IndexController(); 用绝对路径找echo $sc->ShuChu(); ...
- C# 反射之调用方法谈
反射的定义 反射提供了描述程序集.模块和类型的对象(Type 类型). 可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性. 如果代码中使用了特性 ...
- 为什么Javascript中的基本类型能调用方法?
我们从一道笔试题说起: var str = 'string'; str.pro = 'hello'; console.log(str.pro + 'world'); 输出啥?要理解这个问题,我们得从头 ...
- Gradle学习系列之二——创建Task的多种方法
在本系列的上篇文章中,我们讲到了Gradle入门,在本篇文章中我们将讲到创建Task的多种方法. 请通过以下方式下载本系列文章的Github示例代码: git clone https://github ...
随机推荐
- [SQL SERVER系列]读书笔记之SQL注入漏洞和SQL调优
最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“'1'='1'”这个表达式永远返回 true, ...
- Qt多国语言
项目中需要多语言的部分以tr宏包含 例:setWindowTitle(tr("编辑")); .pro项目文件加入CODECFORTR = utf-8 #or gbk#DEFAULT ...
- 使用Sqlserver事务发布实现数据同步
事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进 的.这里以sqlserver2008的事务发布功能为例,对发 ...
- OpenSSL重大漏洞-Heartbleed之漏洞利用脚本POC讲解
OpenSSL Security Advisory [07 Apr 2014] ======================================== TLS heartbeat read ...
- PHP运算符及php取整函数
ceil -- 进一法取整 说明 float ceil ( float value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 flo ...
- 【leetcode】Word Ladder (hard) ★
Given two words (start and end), and a dictionary, find the length of shortest transformation sequen ...
- 12 求1+2+...+n
参考 http://www.cppblog.com/zengwei0771/archive/2012/04/28/173014.html 和 http://blog.csdn.net/shiren_b ...
- 【mysql的设计与优化专题(5)】慢查询详解
查询mysql的操作信息 show status -- 显示全部mysql操作信息 show status like "com_insert%"; -- 获得mysql的插入次数; ...
- javaweb学习总结(四十六)——Filter(过滤器)常见应用
一.统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题 1 package me.gacl.web.filter; 2 3 import ja ...
- 【Java】JTable组件的构造函数和设置列宽
使用JTable组件 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JCompone ...