创建WebService

  打开VS,新建空项目,注意选择.NET Framework的版本.这里我选择的是.NET Framework 4

新建好项目后,在项目中添加一个WebService项

打开这个文件,我们可以看到,代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services; namespace CalculateService
{
/// <summary>
/// WebService1 的摘要说明
/// </summary> [WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class CalCulService : System.Web.Services.WebService
{ [WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
}

将HellowWorld这段代码删除,修改后如下

public class CalCulService : System.Web.Services.WebService
{
[WebMethod]
public int Sum(int a, int b)
{
return a + b;
} [WebMethod]
public int Sub(int a, int b)
{
return a - b;
} [WebMethod]
public double Mult(double a, double b)
{
return a * b;
} [WebMethod]
public double Div(double a, double b)
{
return a / b;
}
}

此时,我们已经完成这个WebService的代码部分,生成项目,运行WebService1.asmx,即可看到服务方法。

查看详细信息(方法,参数等)

接下来我们要将这个WebService打包发布。

发布到IIS

  在项目上点击右键,点击菜单中的发布,进入发布web对话框,点击下拉菜单选择新建配置文件 config1

目标位置: E:\calcul

下一步,发布

完成以上步骤后,我们可以在E:\calcul文件夹内看到生成的以下文件

配置IIS

  在网站(默认网站或者自己建的网站huyWeb)下,添加虚拟目录

浏览网站。

可能遇到的错误:目录问题

问题2:打开WebService1.asmx出错,  “分析器错误消息: 未能创建类型“WebService1.Service1”。

解决:首先必须先在IIS在创建一个虚拟目录,如果这个时候直接在浏览器里调用WebService就会出现上述错误。原因是必须为上面 创建的虚拟目录创建单独的应用程序,方法是右击虚拟目录,点击“添加应用程序...”,目录与刚才的虚拟目录物理路径要一致,添加完成后就可以正常使用
WebService了!

然后设置其默认文档为WebService1.asmx。

使用WebService

  打开vs,新建项目 Asp.net Web应用程序,项目中添加web窗体。在项目右键 添加服务引用,

单击高级—添加Web引用。

在URL中输入我们发布的WebService的URL地址,系统会自动搜索到服务.并且为Web引用设置一个引用名.此引用名将是我们在项目中引用这个服务的命名空间。

点击添加引用,完成。

接下来,我们在WebForm1的cs文件中写如下代码

huyService.WebService1 cal = new huyService.WebService1();
int a = ;
int b = ;
Response.Write(cal.Sum(a, b).ToString());

运行

在VS2013创建WebService并在IIS中发布和使用的更多相关文章

  1. 如何在VS2013创建WebService并在IIS中发布

    第一步:打开VS2013,选择文件->新建->项目. 第二步:选择[ASP.net 空web应用程序],将其命名为自己想的工程名称. 第三步:然后右键点击工程,添加->web服务.然 ...

  2. eworkflow工作流系统在iis中发布

    eworkflow工作流系统在iis中发布 win7下面的iis发布eworkflow工作流系统,要带虚拟目录的,如发布成http://localhost/eworkflow/login.aspx这样 ...

  3. 怎样在iis中发布asp.net网站

    以windows server2003.vs2008和sql servber2005为例.将开发完成的asp.net网站发布,将发布包放在windows server2003服务器的文件夹下.将web ...

  4. IIS中发布FTP支持断点续传

    IIS10中发布FTP默认就是支持断点续传的.

  5. VS2010编写WebService与在IIS的发布<之简单讲解>

    工具VS2010,window环境win7 一:Webservice的创建与方法查看调用 1.新建空web应用程序项目 2.新建web服务 3.自动生成 4.直接跑起来,可以看到有2个方法 5.点击H ...

  6. IIS中发布网站的问题

    1.将网站发布到IIS,访问发生如下错误: HTTP 错误 500.21 - Internal Server Error处理程序"PageHandlerFactory-Integr" ...

  7. bootstrap在iis中发布后无法看到图标,字体样式

      因为框架使用了字体文件来显示矢量的图标,为了能在IIS上正常显示图标,可以通过增加iis的MIME-TYPE来支持图标字体文件:

  8. IIS中发布后出现Could not load file or assembly'System.Data.SQLite.dll' or one of its depedencies

    [问题]在我本机的开发环境c#连接sqlite3没有问题,可是release版本移植到其他的机器就提示Could not load file or assembly'System.Data.SQLit ...

  9. MVC3.0在各个版本IIS中的部署

    概述: 最近在做一个MVC 3的项目,在部署服务器时破费了一番功夫,特将过程整理下来,希望可以帮到大家! 本文主要介绍在IIS5.1.IIS6.0.IIS7.5中安装配置MVC 3的具体办法! 正文: ...

随机推荐

  1. vc++获取系统网卡列表及IP地址信息

    #include "stdafx.h" #include <Windows.h> #include <IPHlpApi.h> #include <io ...

  2. Java接受键盘输入

    import java.util.Scanner;//方法1 import java.io.BufferedReader;//方法2 import java.io.IOException;//方法3 ...

  3. Maven 三种archetype说明

    新建Maven project项目时,需要选择archetype. 那么,什么是archetype? archetype的意思就是模板原型的意思,原型是一个Maven项目模板工具包.一个原型被定义为从 ...

  4. String类的subString(i)方法(基于jdk 1.9)

    只有一个参数的: String str = new String("ABCD"); System.out.println("str="+str.substrin ...

  5. 编码转换 Native / UTF-8 / Unicode

    Native/Unicode Native   这是一个例子,this is a example Unicode 这是一个例子,this is a example Native/UTF-8 Nativ ...

  6. C++:tinyxml的使用

    1. 简介 TinyXML2(最新版本)是一个开源的功能齐全的XML解析库 For C++,源码见:github. 2. 开始使用 首先从Github上获得源码,是一个完整的演示工程,我们只需要其中的 ...

  7. 初次学习AngularJS

    一.指令1.AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. ng-app 指令初始化一个 AngularJS 应用程序. ng-app 指令定义了 AngularJS 应用程序的 ...

  8. Windows 下 左Ctrl和Caps交换

    将以下文本存为后缀为.reg文件,运行并重启即可 左Ctrl和Caps交换 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTE ...

  9. js的 style.width 取不到元素的宽度值

    以前一直用jquery的.width()方法来获取一个元素的当前的宽度.不管该元素是否设置了宽度,CSS样式是内联.外联or内嵌,都可用此方式获得元素当前的宽度. 今天想用原生JS想获取一个元素宽度时 ...

  10. 使用jQuery操作DOM(2)

    1.获取设置属性值 attr({属性名1:属性值1,属性名2:属性值2}); //设置属性值 removeAttr(“属性名”); //删除属性 注意:如果元素没有此属性,会不起作用 2.获取同辈元素 ...