.NET总结--WebService 配置与设置,发布

发环境

  OS:win10 企业版

  开发工具:VS2017

  IIS版本:6.0

   .NET版本:4.6.1

Web Service

  简介

  Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用 WSDL文件进行说明,并通过UDDI进行注册。

  XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

  Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

  WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

  UDDI (Universal Description,Discovery,and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

  1.特点:开放性,跨平台性,开放性是webservice的基础

  2.XML通用标记语言,以及HTTP协议远程交互

  3.三种调用方式:httppost,httpget,httpsoap

  简单例子

  首先,创建空web应用程序

  

分享图片

  选择空web应用程序

  

分享图片

  添加完成之后需要右键点击刚刚添加的空网站点击添加服务

  

分享图片

  添加服务后打开该服务增加WebMethod标记为公开方法

  

分享图片

  这里我还添加了一个ajax测试方法

  

分享图片

  就此编辑阶段完成,这里添加一下源码:

  

namespace webserviceTest
{
    /// <summary>
    /// webserviceone 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]
    //继承于webservice,该基类提供基本通信参数
    public class webserviceone : System.Web.Services.WebService
    {
        //若不添加该标记此方法将无法访问
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        //可访问webservice方法
        //Description 方法概述
        [WebMethod(Description ="测试方法1")]
        public string Addstring(string a,string b) {
            return string.Format(a + b);
        }

        //不可访问方法
        public string Substring(string a,string b)
        {
            return string.Format(a +"-"+ b);
        }
    }

    /// <summary>
    /// 仅仅用作练习,允许ajax调用
    /// </summary>
    [System.Web.Script.Services.ScriptService]
    public class webservicetwo : System.Web.Services.WebService
    {

        [WebMethod]
        public string Ajaxstring() {
            return "Hello AJAX";
        }
    }
}

 

  右键点击该页面 选择在浏览器中查看就可以看到该方法:

  

分享图片

  访问成功之后开始部署该服务到服务器,当前是部署到了我本机

  

分享图片

  注意,进入发布之后选择发布类型时候选择文件夹 或者 自定义模式

  选择之后需要配置该服务位置以及方式如图:

  

分享图片

  配置成功之后选择发布,注意看一下生成结果:

  

分享图片

 

   发布成功后就可以配置iis服务器啦,我本机为IIS6服务 成功安装iis信息服务器之后 按下win+r 键 召唤运行 输入inetmgr 

  iis信息服务器配置页面出现 如下图:

  

分享图片

  点击确定后该服务就发布出去啦访问该服务地址后会出现各种报错,下面是总结报错:

  

分享图片

  该问题是因为默认文档未设置,解决方式有两部,首先不仅要去配置默认文档,还要添加一下该文件扩展名信息:

  

分享图片

  默认文档设置:

  

分享图片

  请求筛选:

  

分享图片

  该文件扩展名为webservice文件扩展名。.asmx这里注意是有点的

  有时候也会出现权限问题等等需要在网站设置一下:

  

分享图片

  设置该权限之后问题解决,就可以成功访问该webservice啦

  

分享图片

  当然还有很多其他错误这里就不一一介绍了

相关文章

1.使用ajax调用varxhr;functioninvoke(){if(window.ActiveXO...
               好不容易把WebService服务器...
1新建一个工程项目用来做服务端增加一个MyService1类文件pac...
packagecom.transsion.util;importjava.io.BufferedReader;i...
再生产wsdl文件时重写描述文件1usingSystem;2usingSystem.Co...
一般情况下,使用eclipse自带的jax-ws生成webservice会自动生...