发布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. EXTJS 4.2 资料 控件之 Store 用法

    最近工作,发现在Extjs中自定义Store的功能挺多,特意在此做笔记,几下来,具体代码如下: 1.定义Store //定义Store var ItemSelectorStore = new Ext. ...

  2. WP8.1和Win8.1的不同之处

    本文仅是个人见解,如有不足或错误之处欢迎批评指正~ 1.Toast: 创建Toast代码差不多但实现机制及管理上不一样 2.ApplicationData: WP8.1多了一个LocalCacheFo ...

  3. cocos2dx-Lua中出现的问题

    1,在Lua中print输出失效的问题 在main.lua中添加print=release_print :

  4. 类的本质、description方法、SEL、NSLog输出增强

    一.类的本质 1.类也是个对象 其实类也是一个对象,是Class类型的对象,简称“类对象” Class类型的定义 typedef struct objc_class *Class; 类名就代表着类对象 ...

  5. [SQL SERVER系列]存储过程,游标和触发器实例[原创]

    自己写的存储过程与游标结合使用的实例,与大家分享,也供自己查阅,仅供参考: --使用游标循环处理,删除重复的记录 declare @UserID int ) ) declare @UnitFlag i ...

  6. 苹果Mac操作系统下怎么显示隐藏文件

      对于新手而已民,苹果的MAC操作系统刚用时用得很不习惯,比如想要显示被隐藏的文件时,不像windows有个“文件夹选项”对话框可以来设置,百度出来的结果都是用命令来操作,但我建议不要用命令去操作, ...

  7. c++ 字符串工具类

    #include <string> #include "util.h" namespace strtool{ std::string trim(const std::s ...

  8. springMVC上传图片

    http://blog.csdn.net/cheung1021/article/details/7084673/ http://toutiao.com/a6293854906445021442/ 工程 ...

  9. sqlmap动态sql优化,避免传参失误批量修改和删除操作!

    分析以下的sqlmap存在问题: <delete id="deletePartspic" parameterClass="TblSpPartspic"&g ...

  10. Maven的Dependency怎么找?

    用了Maven,所需的JAR包就不能再像往常一样,自己找到并下载下来,用IDE导进去就完事了,Maven用了一个项目依赖(Dependency)的概念,用俗话说,就是我的项目需要用你这个jar包,就称 ...