C# webservice初探

本文详细介绍了如何在Windows环境中搭建IIS,创建并部署C# ASP.NET Web Service,以及编写测试程序引用Web Service的步骤。在过程中,作者遇到并解决了权限问题,以便成功运行Web Service。
摘要由CSDN通过智能技术生成

        转载请注明出处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,如图:

        


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

        


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值