转载请注明出处Coder的不平庸:http://blog.csdn.net/pearyangyang/article/details/46348633

因为工作的终端曾经是直接对数据库进行操作,导致每次终端会卡死,严重影响业务进度。所以进行了技术调整,用webservice来作为数据对接的一个中间件,自己也部署了一下webservice环境和入门。

整体来说分为下面这几个步骤:

1.部署IIS环境

2.创建webservice

3.编写測试程序引用webservice

我们就開始一步一步来进行。   首先部署IIS环境,win7中打开控制面板--->程序--->打开或关闭Window功能

选中里面的选项

这样IIS环境就配置好了,我们能够在開始编写webservice程序,在visual studio2008中建立一个“ASP.NET服务应用程序”,名字叫MathService

打开MathService.asmx文件,编写例如以下代码:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq; namespace MathService
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
// 若要同意使用 ASP.NET AJAX 从脚本中调用此 Web 服务。请取消对下行的凝视。 // [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{ [WebMethod]
public int Add(int a,int b)
{
return a + b;
} [WebMethod]
public int Sub(int a, int b)
{
return (a - b);
} [WebMethod]
public int Mul(int a, int b)
{
return a * b;
} [WebMethod]
public int Div(int a, int b)
{
return a / b;
}
}
}

在“解决方式资源管理器”中。选中项目。点击右键,选择“生成”,然后公布,(假设是部署到本地的话就是本地的一个文件夹,我的是D:\net\webservice\).

然后回到IIS信息服务管理器中。在Default Web Site以下新建一个“虚拟文件夹”,依照例如以下的方式进行设置:

然后我们回到visual studio2008,又一次建立一个控制台应用程序来測试webservice所提供的方法是否我们能够引用。当然建立以后,我们还须要加入web reference,如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVhcnlhbmd5YW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

选中项目。点击鼠标右键。选中“加入web引用”,点击高级引用属性,我们能够出现我们在IIS中配置好的webservice项目。

因为我是在本地电脑进行測试,调试用的,所以我选择 “本地计算机的Web服务”,他就会出现我们在IIS中配置好的webservice。

把URL复制上去。点击”前往就能够了“。然后以下是測试webservice连接程序的代码。调用了自己编写的webservice中的Add方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ForkWebService
{
class Program
{
static void Main(string[] args)
{
localhost.Service1 myMathService = new localhost.Service1();
Console.Write("2+4={0}", myMathService.Add(2, 4));
Console.ReadLine();
}
}
}

执行程序,我们就能够在控制台看到结果:

好了,一个简单的webservice程序部署我们就这样完毕了~~~

另外我们在部署的时候还出现了一个问题(Win 7),那就是:

CS0016: 

        未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\TemporaryASP.NET 

       Files\web\4b49f661\23a749fc\App_Web_default.aspx.cdcab7d2.zii776dc.dll”--“拒绝訪问。 ”

           解决方法:

找到C:\Windows\Temp 文件夹,在其属性->安全->编辑->加入 IIS_IUSERS用户 赋予"全然控制"权限

參考:

http://www.cnblogs.com/lonelyxmas/archive/2011/05/28/2061272.html

https://support.microsoft.com/en-us/kb/308359

C# webservice初探的更多相关文章

  1. 第一篇:webservice初探

    接触webservice也有一段时间了,为了查缺补漏,把知识点系统化,准备写几篇博文梳理下webservice的知识点,这是第一篇,对webservice进行大致的介绍. 1.什么是webservic ...

  2. PHP webservice初探

    背景:在最近的开发中,为了解决公司内部系统与外部系统的对接,开始接触到了webservice接口,外部公司提供接口供我们调用,已达到数据同步的目的,因此有必要普及一下web service的知识了! ...

  3. 初探WebService

    写博客也是一件非常费时的事儿啊,之前配置服务器和客户端的Oracle数据库搞了很久,搞定之后懒的记录,现在想想如果让我再配一次,估计又要花很长时间了. 所以把做过的东西整理整理记录下来还是很有必要的, ...

  4. Java WebService Axis 初探

    最近在学习WebService 开始了: 一:服务端的编写与发布 1. 工具准备: java的开发环境(这里就不多说了).   axis2官网上下载最新的就可以了(我这里用的是axis2-1.4.1- ...

  5. 构建安全的Xml Web Service系列之初探使用Soap头

    原文:构建安全的Xml Web Service系列之初探使用Soap头 Xml Web Service 从诞生那天就说自己都么都么好,还津津乐道的说internet也会因此而进入一个新纪元,可5年多来 ...

  6. 《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5项目初探 — 第三节:View层简单改造

    第一境 ASP.Net MVC5项目初探 — 第三节:View层简单改造 MVC默认模板的视觉设计从MVC1到MVC3都没有改变,比较陈旧了:在MVC4中做了升级,好看些,在不同的分辨率下,也能工作得 ...

  7. webService

    什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用.  1:从WebService的工作模式上 ...

  8. 开始webservice了

    一.WebService到底是什么 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用 ...

  9. Spring WebService入门

    Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布 ...

随机推荐

  1. [置顶] JSP分页,使用Hibernate+mysql

    此代码为博主参考巴巴运动网源码所得,大部分一样,略有修改,在这里分享给大家,也方便自己以后写代码直接copy,看网上很多分页代码JSP里是用JAVA代码,博主原来也是这样,看到源码了解了JSTL,建议 ...

  2. 网页class命名规范

    CSS样式命名整理 页面结构 容器: container/wrap 总体宽度:wrapper 页头:header 内容:content 页面主体:main 页尾:footer 导航:nav 側栏:si ...

  3. ContentProvider简要

    1.什么是ContentProvider  数据库在Android其中是私有的,当然这些数据包含文件数据和数据库数据以及一些其它类型的数据.  不能将数据库设为WORLD_READABLE,每一个数据 ...

  4. C++编程规范之11:隐藏信息

    摘要: 不要泄密,不要公开提供抽象的实体的内部信息. 为了尽量减少操作抽象的调用代码和抽象的实现之间的依赖性,必须隐藏实现内部的数据.否则,调用代码就能够访问该信息,或者更糟,操作该信息,而原来应属于 ...

  5. ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程(转)

    环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...

  6. uva 10069 Distinct Subsequences(高精度 + DP求解子串个数)

    题目连接:10069 - Distinct Subsequences 题目大意:给出两个字符串x (lenth < 10000), z (lenth < 100), 求在x中有多少个z. ...

  7. CURD演示 2

    <?php class UserAction extends Action{ public function index(){ echo "你好!"; $m=M('user' ...

  8. 特么的. 最终把 amobbs 的站长阿莫(莫进明)给回骂了一顿.

    起因:  假设你居住的地方,要上马PX等高污染的项目,你会怎么做. 鼓动别人上街暴力示威与军警对抗. 自己待在家里支持怂恿. 这样的人真心猥琐! 鉴于他常常私自改动帖子, 在此截图留存. 真特么没劲. ...

  9. JSP的include指令

    JSP的include 指令:向当前页面中插入的一个静态文件的内容. 在test5.jsp里面 <%@ include file="test5_1.jsp" %> 新建 ...

  10. phprpc 使用实例(同时有Java、Android和Delphi客户端的例子)

    PHPRPC 是一个轻型的.安全的.跨网际的.跨语言的.跨平台的.跨环境的.跨域的.支持复杂对象传输的.支持引用参数传递的.支持内容输出重定向的.支持分级错误处理的.支持会话的.面向服务的高性能远程过 ...