C# webservice初探

转载请注明出处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" >

选中项目。点击鼠标右键。选中“加入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

时间: 2024-10-17 07:49:48

C# webservice初探的相关文章

webService初探(简单小demo)

1.什么是webService? 1.1.先说好处: WebService是两个系统的远程调用,使两个系统进行数据交互,如应用: 天气预报服务.银行ATM取款.使用邮箱账号登录各网站等. WebService之间的调用是跨语言的调用.Java..Net.php,发送Http请求,使用的数据格式是XML格式. webxml.com.cn上面有一些免费的WebService服务,可以进去看看. 基础概念: (1)理解服务: 现在的应用程序变得越来越复杂,甚至只靠单一的应用程序无法完成全部的工作.更别

PHP webservice初探

背景:在最近的开发中,为了解决公司内部系统与外部系统的对接,开始接触到了webservice接口,外部公司提供接口供我们调用,已达到数据同步的目的,因此有必要普及一下web service的知识了! 什么是web service:web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记御园下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序. webservice三要素:SOAP.WSDL

初探webService

webService提供了一种规范,可以用于不同语言或者不同平台之间数据传输. 复习socket通信以便更好的理解ws. socket通信图示: 平台a与平台b无法进行直接通信,通过socket进行通信. socket通信举例(回复相同的字符串): 客户端 package com.bxw.client; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.

国外物联网平台初探(五):Exosite Murano

国外物联网平台初探(五)--Exosite Murano 马智 ? 定位 Murano是一个基于云的IoT软件平台,提供安全.可扩展的基础设施,支持端到端的生态系统,帮助客户安全.可扩展地开发.部署和管理应用.服务以及联网产品. ? 功能 Murano平台简化了整个IoT技术栈,可视为集成在一起的多个云软件层. Murano提供IoT基础设施.开发环境和功能集成,包括设备连接.产品管理.数据路由.服务集成(如data store/告警/第三方分析平台).应用开放API.用户认证/角色/权限和应用

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

原文:构建安全的Xml Web Service系列之初探使用Soap头 Xml Web Service 从诞生那天就说自己都么都么好,还津津乐道的说internet也会因此而进入一个新纪元,可5年多来,Xml Web Service并没有像当初宣扬的那样火起来,尽管在一些领域之内,也有人牛刀小试,但从整体而言,Service还并没有得到广泛的应用,原因有很多,有一些来源于目前各大厂商都坚持自己的service标准,不能形成统一,也有对现有的稳定系统不愿进行更改的原因,但还包括web servic

自定义及发布一个webservice服务

自定义及发布一个webservice服务    - 声明 某个业务服务为webservice服务       通过@webservice 注解来声明    - 发布webservice服务       Endpoint.publish()发布 (默认对public修饰的方法进行发布)    - 通过wsimport生成本地代理来访问自己发布的webservice       wsimport 1.发布自定义webservice phone.java package ws.myWebService

调用已发布的WebService

WebService服务演示 登录http://www.webxml.com.cn 单击手机查询服务 3.         选择要调用的方法 例如: getMobileCodeInfo. 4. 输入要查询的手机号单击”调用” 截图如下, 免费用户 UserID为null a)   可以看到返回如下结果: <?xml version="1.0" encoding="utf-8" ?> <string xmlns="http://WebXml

webservice实验一

实验目的:安装jdk1.6_21以后的版本,利用JAX-WS API自己发布webservice并调用,以及用wsimport生成webservice客户端代码调用一个免费的web服务(如webxml.com.cn上的获取手机归属地的服务). 一.webservice原理了解 webservice是一种通用的跨语言跨平台的数据交互方式,之所以能够做到这一点,是因为它的底层实现机制是依赖于HTTP协议以及XML格式这些开发的标准.webservice使用SOAP(simple object acc

C# 动态生成WebService,无需添加引用

C#项目调用WebService是很常见的现象,但一旦修改链接地址就需要重新更新引用很是麻烦,这里跟大家分享一个通过地址,无需添加引用动态生成Webservice的小方法 方法类: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.ServiceModel; 6 using System.ServiceModel.Channels