发布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. OO之观察者模式

    以下为观察者模式详解: 引子: 假设有这样一个问题,有一条河经过一个山谷,山谷下有一个村庄,人们在山谷处修建了一个水库,并安排专人管理,当水库的水位过高时要通知下游居民注意水库的开闸放水,当水库的水温 ...

  2. C语言关键字-volatile

    1.C语言关键字volatile     C 语言关键字volatile(注意它是用来修饰变量而不是上面介绍的__volatile__)表明某个变量的值可能在外部被改变,因此对这些变量的存取 不能缓存 ...

  3. 3D游戏常用技巧Normal Mapping (法线贴图)原理解析——高级篇

    1.概述 上一篇博客,3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇,讲了法线贴图的基本概念和使用方法.而法线贴图和一般的纹理贴图一样,都需要进行压缩,也需要生成mipm ...

  4. 读书笔记 (一) ———Fundamentals of Multiagent Systems with NetLogo Examples by Prof. Jose M Vidal

    在网上发现Prof. Jose M Vidal用NetLogo仿真Multi-agent system的视频,随后下载他的著作Fundamentals of Multiagent Systems wi ...

  5. BZOJ 4036 [HAOI2015] Set 解题报告

    首先我们不能一位一位的考虑,为什么呢? 你想想,你如果一位一位地考虑的话,那么最后就只有 $n$ 个数字,然而他给了你 $2^n$ 个数字,怎么看都不对劲呀.(我是因为这样子弄没过样例才明白的) 所以 ...

  6. web页面浮动回到顶部功能和浮动广告

    实现测试浮动回到顶部 法一:用js实现<%@ Page Language="C#" AutoEventWireup="true" CodeBehind=& ...

  7. iOS中关于KVC与KVO知识点

    iOS中关于KVC与KVO知识点 iOS中关于KVC与KVO知识点  一.简介 KVC/KVO是观察者模式的一种实现,在Cocoa中是以被万物之源NSObject类实现的NSKeyValueCodin ...

  8. UIcollectionView的使用(首页的搭建1)

    今天做一个首页的效果:  首页是用UICollectionView做的.下面我来结合首页的效果介绍一下: 一.创建基类继承自UIViewController 01 创建基类继承自UIViewContr ...

  9. Qt之高级网络操作(HTTP/FTP快速上手)Qt之QHttpPart和QHttpMultiPart

    http://blog.csdn.net/u011012932/article/details/52535755 http://blog.csdn.net/u011012932/article/det ...

  10. MVC 的HTTP请求

    MVC 的HTTP请求过程(以IIS为例) 通过Browser发过请求给IIS(get/post) IIS得到请求后,再把请求转给aspnet_iisapi.dll处理,通过asp.net的一些框架的 ...