日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

部署承载于 Internet 信息服务中的 WCF 服务

發(fā)布時間:2024/4/17 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 部署承载于 Internet 信息服务中的 WCF 服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
部署承載于 Internet 信息服務中的 WCF 服務

開發(fā)和部署承載于 Internet 信息服務 (IIS) 中的 Windows Communication Foundation (WCF) 服務包括以下任務:

  • 確保已正確安裝和注冊 IIS、WCF 和 WCF 激活組件。
  • 創(chuàng)建新的 IIS 應用程序,或重新使用現有的 ASP.NET 應用程序。
  • 為 WCF 服務創(chuàng)建 .svc 文件。
  • 將服務實現部署到 IIS 應用程序。
  • 配置 WCF 服務。

有關創(chuàng)建承載于 IIS 中的 WCF 服務的詳細演練,請參見如何:在 IIS 中承載 WCF 服務。

確保已正確安裝和注冊 IIS 和 WCF

必須同時安裝 WCF 和 IIS,承載于 IIS 中的 WCF 服務才能正常工作。安裝 WCF(作為 .NET Framework 3.0 的一部分)和 IIS 的過程隨所用操作系統(tǒng)版本的不同而不同。有關 安裝 WCF 和 .NET Framework 3.0 的更多信息,請參見 Microsoft .NET Framework 3.0 可再發(fā)行組件包(可能為英文網頁)。有關安裝 IIS 的說明可以在安裝 IIS(可能為英文網頁)上找到。

如果計算機上已存在 IIS,則在安裝 .NET Framework 3.0 的過程中自動向 IIS 注冊 WCF。如果在安裝 .NET Framework 3.0 后安裝 IIS,則需要執(zhí)行其他步驟向 IIS 和 ASP.NET 注冊 WCF。根據您的操作系統(tǒng),可以按如下所述執(zhí)行此操作:

  • Windows XP SP2 和 Windows Server 2003:使用 ServiceModelReg.exe 工具向 IIS 注冊 WCF:若要使用此工具,請在命令提示符下鍵入 ServiceModelReg.exe /i /x。
  • Windows Vista:安裝 .NET Framework 3.0 的 Windows Communication Foundation Activation Components 子組件。為此,請在控制面板中,單擊“添加或刪除程序”,然后單擊“添加/刪除 Windows 組件”。這將激活“Windows 組件向導”。

創(chuàng)建新的 IIS 應用程序或重新使用現有的 ASP.NET 應用程序

承載于 IIS 中的 WCF 服務必須駐留在 IIS 應用程序內。可以創(chuàng)建一個新的 IIS 應用程序專門承載 WCF 服務?;蛘?#xff0c;可以將 WCF 服務部署到已經承載 ASP.NET 2.0 內容(如 .aspx 頁和 ASP.NET Web 服務 [ASMX])的現有應用程序中。有關 這些選項的更多信息,請參見 WCF 服務和 ASP.NET 中的“并行承載 WCF 與 ASP.NET”和“在 ASP.NET 兼容性模式下承載 WCF 服務”兩節(jié)。

請注意,IIS 6.0 和更高版本定期重新啟動獨立的面向對象編程應用程序。默認值為 1740 分鐘。支持的最大值為 71,582 分鐘??梢越么酥匦聠?。有關 此屬性的更多信息,請參見 PeriodicRestartTime(可能為英文網頁)。

為 WCF 服務創(chuàng)建 .svc 文件

承載于 IIS 中的 WCF 服務在 IIS 應用程序內表示為特殊內容文件(.svc 文件)。此模型與在 IIS 應用程序內將 ASMX 頁表示為 .asmx 文件的方式類似。.svc 文件包含 WCF 特定的處理指令 (@ServiceHost),該指令允許 WCF 承載基礎結構激活所承載的服務以響應傳入消息。.svc 文件的最常見語法如以下語句所示。

復制代碼 <% @ServiceHost Service=”MyNamespace.MyServiceImplementationTypeName” %>

它由 @ServiceHost 指令和單個屬性 Service 組成。Service 屬性的值是服務實現的公共語言運行庫 (CLR) 類型名稱。使用此指令與使用以下代碼創(chuàng)建服務主機基本等效。

復制代碼 new ServiceHost( typeof( MyNamespace.MyServiceImplementationTypeName ) );

也可以執(zhí)行其他承載配置,如創(chuàng)建服務的基址列表。也可以使用自定義 ServiceHostFactory 擴展指令以用于自定義承載解決方案。承載 WCF 服務的 IIS 應用程序不負責管理 ServiceHost 實例的創(chuàng)建和生存期。收到 .svc 文件的第一個請求時,托管 WCF 承載基礎結構動態(tài)創(chuàng)建必需的 ServiceHost 實例。在代碼顯式關閉該實例之前或回收應用程序時,不釋放該實例。

有關 .svc 文件語法的更多信息,請參見 @ServiceHost

將服務實現部署到 IIS 應用程序

承載于 IIS 中的 WCF 服務與 ASP.NET 2.0 使用相同的動態(tài)編譯模型。就像在 ASP.NET 中那樣,可以在各種位置通過幾種方式部署承載于 IIS 中的 WCF 服務的實現代碼,如下所示:

  • 作為全局程序集緩存 (GAC) 或應用程序的 \bin 目錄中的預編譯 .dll 文件。在部署類庫的新版本后,才更新預編譯的二進制文件。
  • 作為位于應用程序的 \App_Code 目錄中的未編譯源文件。處理應用程序的第一個請求時,動態(tài)需要位于此目錄中的源文件。對 \App_Code 目錄中文件進行的任何更改都導致在收到下一個請求時回收和重新編譯整個應用程序。
  • 作為直接放置在 .svc 文件中的未編譯代碼。實現代碼也可以按內聯(lián)方式位于服務的 .svc 文件中,且在 @ServiceHost 指令之后。對內聯(lián)代碼進行的任何更改導致在收到下一個請求時回收和重新編譯應用程序。

有關 ASP.NET 2.0 編譯模型的更多信息,請參見 ASP.NET 編譯概述(可能為英文網頁)。

配置 WCF 服務

承載于 IIS 中的 WCF 服務將其配置存儲在應用程序 Web.config 文件中。承載于 IIS 中的服務使用與承載于 IIS 外部的 WCF 服務相同的配置元素和語法。但是,下面的約束對 IIS 承載環(huán)境是唯一的:

  • 承載于 IIS 中的服務的基址。
  • 通過將一組基址 URI 傳遞到 ServiceHost 構造函數或者通過在服務配置中提供 <host> 元素,在 IIS 外部承載 WCF 服務的應用程序可以控制這些服務的基址。承載于 IIS 中的服務無法控制其基址;承載于 IIS 中的服務的基址是其 .svc 文件的地址。

承載于 IIS 中的服務的終結點地址

承載于 IIS 中時,任何終結點地址始終被認為相對于表示服務的 .svc 文件的地址。例如,如果 WCF 服務的基址是包含以下終結點配置的 http://localhost/Application1/MyService.svc。

復制代碼 <endpoint address=”anotherEndpoint” … />

這提供了一個可以在“http://localhost/Application1/MyService.svc/anotherEndpoint”上訪問的終結點。

同樣,將空字符串用作相對地址的終結點配置元素提供了一個可以在 http://localhost/Application1/MyService.svc(它是基址)上訪問的終結點。

復制代碼 <endpoint address=”” … />

對于承載于 IIS 中的服務的終結點,必須始終使用相對終結點地址。如果終結點地址未指向承載公開終結點的服務的 IIS 應用程序,則提供完全限定的終結點地址(例如,http://localhost/MyService.svc)可能導致在部署服務時出錯。對所承載的服務使用相對終結點地址避免了這些潛在沖突。

可用傳輸

承載于 IIS 5.1 和 IIS 6.0 中的 WCF 服務被限制為使用基于 HTTP 的通信。在這些 IIS 平臺上,將所承載的服務配置為使用非 HTTP 綁定會導致服務激活期間出錯。對于 IIS 7.0,支持的傳輸包括 HTTP、Net.TCP、Net.Pipe、Net.MSMQ 以及用于與現有 MSMQ 應用程序向后兼容的 msmq.formatname。

HTTP 傳輸安全

承載于 IIS 中的 WCF 服務可以使用 HTTP 傳輸安全(例如 HTTPS 和 HTTP 身份驗證方案,如基本、摘要式和 Windows 集成身份驗證),前提是包含該服務的 IIS 虛擬目錄支持這些設置。所承載終結點的綁定上的 HTTP 傳輸安全設置必須與包含它的 IIS 虛擬目錄上的傳輸安全設置匹配。

例如,配置為使用 HTTP 摘要式身份驗證的 WCF 終結點必須駐留在也配置為允許 HTTP 摘要式身份驗證的 IIS 虛擬目錄中。IIS 設置和 WCF 終結點設置的不匹配組合會導致服務激活期間出錯。

?

?轉自MSDN

轉載于:https://www.cnblogs.com/AlexLiu/archive/2009/03/17/1414730.html

總結

以上是生活随笔為你收集整理的部署承载于 Internet 信息服务中的 WCF 服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。