IIS發布WCF(補充網上的內容,附帶源檔案)

來源:互聯網
上載者:User
大致部署步驟如下:

1.編譯好WCF Service的Class Library,確保沒有錯誤。
2.建立.svc檔案,內容格式如下:1<%@ServiceHost language=c# Debug="true" Service="CommonService.MailService" %>   

 
這裡的Service,是你的Service名稱,及其所屬命名空間.

為了確保IIS能正確識別.svc檔案,需要在IIS屬性中檢查,如果沒有.svc類型,需要手動添加,

3.在IIS發布WCF Service,將其目錄設定為Web共用,並注意在IIS中,為該虛擬目錄開啟匿名訪問的許可權。
4.在工程中,添加Web.config檔案。這裡需要建立WCF Service服務段的配置資訊,我們可以直接利用MS提供的組態工具方便進行配置,

開啟組態工具,根據設定精靈,選擇好Service Type 和Contract資訊。在選擇服務通訊方式的時候,我們需要選擇http通訊方式(因為我們服務的宿主是IIS,所以應選擇http方式)。在EndPoint中,填入Endpoint的地址。再選擇添加一個Endpoint,address為mex,類型為mexHttpBinding,Contract填入IMetadataExchange。

5.為了能在IIS中測試發布的效果,我們需要允許從用戶端通過http方式擷取中繼資料,這樣的選項WCF預設是false,所以我們還需要一點小設定:
在Service Behavior節點,單擊右鍵,建立一個Service Behavior,單擊Add按鈕,添加一個Extention Position,名稱為serviceMetadata,

並在上面雙擊,在視窗中,把HttpGetEnabled選項設定為true,

一切的準備工作就緒後,我們就可以通過IIS來訪問測試我們的WCF Service了。如:

紅色框中的部分,是我們設定了HttpGetEnabled的結果,否則是不會出現這一行的,它允許我們從用戶端以WSDL方式擷取其來源資料。

以上為網上轉來的內容,通過測試不知道網友是否出現:Security settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service.

如果是,請看以下補充內容:

以上原因是因為我們沒有設直身分識別驗證,所以我們還要在設定檔web.config裡添加一段代碼:
  <system.web>
    <authentication mode="Windows"/>
  </system.web>
這樣問題已經解決了...

最後附上我自己寫的源檔案,可以在IIS發布調試。

wcf.rar

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.