在VS2013创建WebService并在IIS中发布和使用
创建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中发布和使用的更多相关文章
- 如何在VS2013创建WebService并在IIS中发布
第一步:打开VS2013,选择文件->新建->项目. 第二步:选择[ASP.net 空web应用程序],将其命名为自己想的工程名称. 第三步:然后右键点击工程,添加->web服务.然 ...
- eworkflow工作流系统在iis中发布
eworkflow工作流系统在iis中发布 win7下面的iis发布eworkflow工作流系统,要带虚拟目录的,如发布成http://localhost/eworkflow/login.aspx这样 ...
- 怎样在iis中发布asp.net网站
以windows server2003.vs2008和sql servber2005为例.将开发完成的asp.net网站发布,将发布包放在windows server2003服务器的文件夹下.将web ...
- IIS中发布FTP支持断点续传
IIS10中发布FTP默认就是支持断点续传的.
- VS2010编写WebService与在IIS的发布<之简单讲解>
工具VS2010,window环境win7 一:Webservice的创建与方法查看调用 1.新建空web应用程序项目 2.新建web服务 3.自动生成 4.直接跑起来,可以看到有2个方法 5.点击H ...
- IIS中发布网站的问题
1.将网站发布到IIS,访问发生如下错误: HTTP 错误 500.21 - Internal Server Error处理程序"PageHandlerFactory-Integr" ...
- bootstrap在iis中发布后无法看到图标,字体样式
因为框架使用了字体文件来显示矢量的图标,为了能在IIS上正常显示图标,可以通过增加iis的MIME-TYPE来支持图标字体文件:
- 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 ...
- MVC3.0在各个版本IIS中的部署
概述: 最近在做一个MVC 3的项目,在部署服务器时破费了一番功夫,特将过程整理下来,希望可以帮到大家! 本文主要介绍在IIS5.1.IIS6.0.IIS7.5中安装配置MVC 3的具体办法! 正文: ...
随机推荐
- vc++获取系统网卡列表及IP地址信息
#include "stdafx.h" #include <Windows.h> #include <IPHlpApi.h> #include <io ...
- Java接受键盘输入
import java.util.Scanner;//方法1 import java.io.BufferedReader;//方法2 import java.io.IOException;//方法3 ...
- Maven 三种archetype说明
新建Maven project项目时,需要选择archetype. 那么,什么是archetype? archetype的意思就是模板原型的意思,原型是一个Maven项目模板工具包.一个原型被定义为从 ...
- String类的subString(i)方法(基于jdk 1.9)
只有一个参数的: String str = new String("ABCD"); System.out.println("str="+str.substrin ...
- 编码转换 Native / UTF-8 / Unicode
Native/Unicode Native 这是一个例子,this is a example Unicode 这是一个例子,this is a example Native/UTF-8 Nativ ...
- C++:tinyxml的使用
1. 简介 TinyXML2(最新版本)是一个开源的功能齐全的XML解析库 For C++,源码见:github. 2. 开始使用 首先从Github上获得源码,是一个完整的演示工程,我们只需要其中的 ...
- 初次学习AngularJS
一.指令1.AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. ng-app 指令初始化一个 AngularJS 应用程序. ng-app 指令定义了 AngularJS 应用程序的 ...
- Windows 下 左Ctrl和Caps交换
将以下文本存为后缀为.reg文件,运行并重启即可 左Ctrl和Caps交换 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTE ...
- js的 style.width 取不到元素的宽度值
以前一直用jquery的.width()方法来获取一个元素的当前的宽度.不管该元素是否设置了宽度,CSS样式是内联.外联or内嵌,都可用此方式获得元素当前的宽度. 今天想用原生JS想获取一个元素宽度时 ...
- 使用jQuery操作DOM(2)
1.获取设置属性值 attr({属性名1:属性值1,属性名2:属性值2}); //设置属性值 removeAttr(“属性名”); //删除属性 注意:如果元素没有此属性,会不起作用 2.获取同辈元素 ...