.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啦

  

  當然還有很多其他錯誤這里就不一一介紹了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM