導航:首頁 > 文檔加密 > wcf服務編程pdf

wcf服務編程pdf

發布時間:2023-02-06 22:22:40

⑴ WCF服務編程一書中寫到:契約操作不能使用引用對象參數,只允許使用基本類型或者數據契約

在過程調用中傳遞了一個無效參數。這可能是由於參數超出范圍,或包含無效數據。另外,有可能在不適當的時間對過程進行了調用。要糾正該錯誤驗證傳遞給過程的參數是有效的。驗證在適當的時間調用函數。溢出試圖賦給變數的賦值太大,這是因為:賦值,計算或者數據類型轉換結果很大以至於不能代表此種類型變數值的范圍。屬性賦值超出了屬性所能接受的最大值。整數類型數字的計算結果大於一個整數。要糾正該錯誤將值賦給一個較大取值范圍的變數類型。確保賦值符合屬性范圍。內存不足分配與該計算機有效內存一樣多的內存。這可能是一個動態分配數組增長得太大,或者是對象實例數目過多。要糾正該錯誤使用Erase語句來重新分配動態數組的儲存空間。使用ReDim語句來重新分配儲存空間。關閉任何已經打開、不必需的應用程序,文件或者源文件。下標越界要訪問的數組中元素數目比期望的少。例如試圖從一個定義為10個元素的數組中訪問到11個元素。.要糾正該錯誤確保你的代碼中包含檢察元素是否越界的邊界。重新定義一個更大的數組大小至需要的維數。該數組為定長的或者臨時被鎖定試圖用ReDim函數來改變一個定長數組的元素數目。動態數組或者Variant變數內的數組可以被暫時的鎖定。要糾正該錯誤如果在過程內部定義數組,用ReDim函數將其從靜態變為動態。如果在模塊水平上說明數組,不要指定數組中元素的數目。被零除創建一個試圖將數字被零除的表達式。被零除得到無窮大(不可用)結果。要糾正該錯誤檢查表達式的輸入或大小寫錯誤。類型不匹配試圖比較不相容數據類型的值。例如,比較一個字元串和一個數值。要糾正該錯誤當進行比較時,要確保數據類型相同。用一個的數據類型來計算另一個的值,然後重新比較。字元串空間溢出試圖創建字元串對象時系統內存被用盡。這可能是因為動態分配數組越來越大或對象實例的數目過大。要糾正該錯誤使用Erase語句來重新分配動態數組的儲存空間。使用ReDim語句來重新分配儲存空間。關閉任何已經打開、不必需的應用程序,文件或者源文件無法執行請求的操作當主機使腳本引擎中斷時無法繼續執行腳本。主機未指定明確的返回錯誤代碼。要糾正該錯誤該錯誤的解決與主機有關。堆棧溢出過程嵌套太深。每次代碼從一個過程跳到另一個過程,本地變數的內容被放到堆棧中。堆棧是一個大小隨著要求執行的腳本動態增長和縮小的內存工作區域。要糾正該錯誤檢查沒有嵌套很深的過程。確保遞歸(重入)過程沒有經常的調用自身。確保遞歸過程被正常終止。未定義Sub或Function試圖調用一個不存在的過程。要糾正該錯誤檢查過程的拼寫確保輸入正確。載入DLL錯誤應用程序引用了一個無法找到的DLL,一個DLL可能引用了另一個無法找到的DLL。要糾正該錯誤確保DLL存在。使用全路徑名引用DLL。獲得被引用的DLL並使其對其他DLL有效。內部錯誤發生內部錯誤。要糾正該錯誤除非這是由Raise方法產生,請與微軟產品服務聯系報告出現錯誤消息的情況。未設置對象變數試圖使用無效對象的對象屬性。如果遺漏了Set語句,將在對象引用產生錯誤。要糾正該錯誤為對象變數指定一個引用。For循環未初始化在腳本中執行跳到ForNext循環中間的結果。由於ForNext循環計數必須被初始化所以產生錯誤。下面演示了一個ForNext循環的正確結構。Forcounter=startToend[Stepstep][statements][ExitFor][statements]Next要糾正該錯誤移去跳轉至ForNext循環的語句。確保ForNext循環包含了所有必須的部分。非法使用Null試圖獲得一個為Null的Variant變數的值。你只能獲得包含有效值的Variant變數的值。Null是一個Variant一個用來指示一個數據項不包含任何有效數據的子類型。要糾正該錯誤確保變數包含有效數據。需要對象提供的對象無效(或無法認為是一個對象)。對屬性和方法的引用需要一個顯式的對象限定符。要糾正該錯誤提供一個對象限定符。檢查對象限定符的拼寫。ActiveX部件無法創建對象由於對象類未在系統注冊表中注冊或者是一個或多個相關的動態鏈接庫無效(DLLs),VB5.5運行時無法初始化對象。另外一種可能情況是,由於未找到或是已經損壞,對象所需的DLL不可用。要糾正該錯誤確保所有相關的DLLs有效。例如,數據存取對象(DAO)所需的DLLs在不同的平台下是不同的。你可能不得不返回到安裝程序查找該對象。InternetExplorer可能試圖創建對象,但是在InternetExplorer中沒有正確的安全許可。重置InternetExplorer安全設置並重試。類不支持自動化試圖操作一個並不支持自動化的對象屬性或方法。可以創建並將指針傳遞給不支持自動化的對象,但是不能獲取它的屬性和方法。要糾正該錯誤查創建對象應用程序的文檔中關於該類自動化使用的限制。注意對象可能已經通過使用CreateObject被創建,但可能已經通過主機對象模型被引入。在自動化操作中未找到文件名或類名使用GetObject函數,但是將一個不可識別的類或文件名作為參數。GetObject函數要求包含要獲取的對象的文件的完整的路徑和名稱,或者是在系統中注冊過的類名稱。要糾正該錯誤檢查名稱的拼寫錯誤,然後重試。確保class參數的名稱與在系統中注冊的相匹配。對象不支持該屬性或方法對該自動化對象指定了一個並不存在的屬性或方法。不是所有的對象都支持所有的屬性和方法。要糾正該錯誤檢查屬性和方法以確保沒有打字錯誤。參見對象的文檔獲取的信息。對象不支持此操作試圖引用該對象不支持的一個方法或屬性。不是所有的對象支持所用的操作。要糾正該錯誤檢查屬性和方法以確保沒有打字錯誤。參見對象的文檔獲取的信息。對象不支持當前的區域設置試圖操作一個不支持當前區域設置的對象。區域設置是和給定語言以及國家/地區相對應的一系列信息。本地影響預定義程序項的語言和本地特定設置。以下兩種情況時本地信息很重要:codelocale影響語言項例如關鍵詞,並且定義本地特定設置例如小數和列表分割符,日期格式和字元排列順序。systemlocale影響本地相關的功能執行。例如,當顯示數字或者將字元串轉換為日期時。使用操作系統提供的控制面板工具來設定系統。要糾正該錯誤檢查對象支持的區域設置。未找到命名參數調用一個過程並指定一個特別的參數,但是過程未被定義為接受以為名稱的參數。除非在過程定義中出現,一個命名參數不能在過程調用中使用。要糾正該錯誤檢查參數名稱是否正確拼寫,然後再試著調用過程。參數不可選調用過程但是參數數量錯誤。傳遞給過程的參數的數量必須與過程定義的參數數量相同。要糾正該錯誤檢查函數符號確保提供了所有必須的參數。錯誤的參數個數或無效的參數屬性值調用過程時如果:錯誤的過程名稱,或者,過程中參數數目錯誤,或者,參數類型錯誤。傳遞給過程的參數數目必須與過程定義中的參數數目相符。要糾正該錯誤檢查以確保傳遞給過程的參數列表與過程定義或聲明中的相符。對象不是一個集合試圖對一個不是Collection類型的對象進行只對Collection對象有效的操作。有些屬性、方法和操作僅可應用於Collection對象。Collection對象是包含一組互相關聯的對象的一種對象。一旦集合中發生了改變,一個對象在Collection對象中的位置也會發生改變;因此,Collection對象中的任何一個對象的位置都可能變化。要糾正該錯誤檢查對象或屬性名稱的拼寫。驗證對象是一個Collection對象。查看用來向集合中添加該對象的Add方法,確保語法正確且任何標識符的拼寫都正確。變數使用了VB不支持的自動化類型試圖使用類型庫或者對象庫中不被支持的數據類型,任何一門編程語言都不能使用類型庫或對象庫中的所有變數。要糾正該錯誤只使用VB識別的變數類型。遠程伺服器不存在或者不能訪問用CreateObject函數來建立一個遠程機器的對象,但是調用失敗,這是因為無法訪問遠程伺服器或者沒有包含特定的類。要糾正該錯誤檢驗遠程伺服器的名字是否正確。檢驗遠程伺服器的DCOM可用。使用dcomcnfg驗證安全許可權是否允許建立對象。無效圖片試圖載入一個無法識別格式的圖像。有效格式包括點陣圖(*.bmp),圖標(*.ico),以及Windows元文件(*.wmf)。要糾正該錯誤確保要載入的圖像文件的格式是有效的。變數未定義在腳本開始處用OptionExplicit語句,後來又使用一個未被說明的變數名稱。當使用OptionExplicit語句時,必須用Dim,Private,Public或者ReDim語句顯式地說明所有的變數。要糾正該錯誤使用OptionExplicit語句時,確保用Dim,Private,Public,OrReDim語句定義了所有的變數。腳本對象不安全試圖使用未被標識為腳本安全的對象。對象創建是否安全由主機決定。總的來說,允許不信任腳本進行有害操作(例如操作硬碟)的對象是不安全的。例如,使用作為客戶端的MicrosoftInternetExplorer運行FileingObject是不安全的,但是可以在帶有WindowsHost的本地機器使用該對象。要糾正該錯誤確保在使用一個安全的對象。與對象開發者聯系看是否為安全版本。閱讀對象文檔發現該對象是否安全。對象不能安全初始化試圖使用未被標識為初始化安全的對象。對象創建是否安全由主機決定。總的來說,允許不信任腳本進行有害操作(例如操作硬碟)的對象是不安全的。例如,使用作為客戶端的MicrosoftInternetExplorer運行FileingObject是不安全的,但是可以在帶有WindowsHost的本地機器使用該對象。要糾正該錯誤確保在使用一個安全的對象。與對象開發者聯系看是否為安全版本。閱讀對象文檔發現該對象是否安全。對象不能安全創建試圖使用一個未被標識為安全創建的對象。對象創建是否安全由主機決定。總的來說,允許不信任腳本進行有害操作(例如操作硬碟)的對象是不安全的。例如,使用作為客戶端的MicrosoftInternetExplorer運行FileingObject是不安全的,但是可以在帶有WindowsHost的本地機器使用該對象。要糾正該錯誤確保在使用一個安全的對象。與對象開發者聯系看是否為安全版本。閱讀對象文檔發現該對象是否安全。無效或不合格的引用試圖對不止一個對象使用With語句。With語句只能被非空對象使用。下面演示了一個With塊的正確結構。WithobjectstatementsEndWith要糾正該錯誤為With語句指定一個對象。類未定義引用未定義(通過New或Set語句)的類。要糾正該錯誤確保在引用類之前已經定義。發生異常腳本調用COM對象,然後產生異常。要糾正該錯誤除非該調用由Raise方法產生,請與產生錯誤的CM對象開發人員聯系。請與微軟產品服務聯系報告出現錯誤消息的情況。正則表達式中的語法錯誤搜索字元串的結構違背了VB正則表達式中的一個或多個語法規則。要糾正該錯誤保證常規的搜索字元串的表達式符合Perlde的表達語法。錯誤的數量詞當構造正則表達式的搜索模式時,沒有正確的說明匹配的字元串。要糾正該錯誤確保搜索模式是正確構造的。在正則表達式中需要']'試圖為正則表達式匹配創建一個字元類,但未包含右括弧。將單獨的字元組合放到方括弧里可以將其裝配到字元類中。例如,/[abc]/匹配字母「a」,「b」,或「c」中任意一個。要糾正該錯誤在正則表達式中添加右括弧。在正則表達式中需要')'試圖創建常規的嵌套表達式,但未包含「)」。在正則表達式中括弧有幾個目的。首先,它將分離的項組成為單個子表達式,所以項目可以通過*,+,?等等來當作一個單元來處理。要糾正該錯誤在常規的嵌套表達式中添加右(閉)括弧「)」。字元集越界試圖使用無效字元創建正則表達式。正則表達式是由字母數字和元字元組成的。要糾正該錯誤僅僅使用有效正則表達式字元來組成正則表達式。求採納為滿意回答。

⑵ 如何配置net.tcp 的WCF服務

這個方法里,我們有兩個函數,一個能夠根據學生點獲取學生全名,另一個是根據學生點獲取學生的實體對象。
好了,讓我們來編譯這個項目,得到一個WCFServiceGeneratedByConfig.exe文件。
然後,我們需要配置文件來讓伺服器端啟動,所以這里我們要用WCF Service Configuration Editor
工具來進行,由於在VS2008 和VS2010中帶有這個軟體,我們可以直接通過菜單->Tools->WCF Service Configuration Editor來打開。
首先,點擊File->New config, 打開Service的Configuration界面。

然後,點擊Create a new service…,在彈出的界面中,我們選擇剛才生成的那個WCFServiceGeneratedByConfig.exe文件。雙擊之後,軟體自動顯示出了裡面含有的Service:

點選那個Service,然後點擊兩次next,我們會看到出現了選擇Communation Mode的界面,這里由於我們用的是net.tcp,所以我選擇了第一個:TCP。

然後點擊Next,我們會看到要我們填寫EndPoint,這里我隨便填寫了一個:

之後,點擊Next知道Finish,然後,我們的最基本的配置就結束了。
回到Config界面之後,我們點擊Advanced->Service Behaviors->New Service Behavior Configuration,在彈出的界面中,我們點擊Add->serviceMetadata:

然後點擊Add,我們就添加了一個Behavior Element。點擊剛剛生成的serviceMetadata節點,在顯示的界面中,設置HttpGetEnabled為true。

然後點擊原來的Service節點下的Host節點,在Base Address欄目下單擊Add,添加如下的Base Address:

最後點擊OK。然後點擊菜單File->Save As 保存到項目文件夾下即可。
這里是生成的代碼:
View Code
這一步做完後,我們需要讓服務能夠啟動,怎麼啟動呢?請看下面的代碼:
View Code
代碼中的注釋部分非常重要,我們一定要添加,否則下面的步驟不能進行,具體的原因,參加我的另一篇文章:在net.tcp模式下,由SvcUtil.exe生成代理類文件和配置文件
然後運行這個ConsoleApplication。
接下來,找到SvcUtil.exe,C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\SvcUtil.exe,在CMD窗口下運行如下命令
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\SvcUtil.exe net.tcp://127.0.0.1:50001/StudentServiceEndPoint

這樣,這個小工具就會自動的給我們生成代理類和配置文件

Microsoft (R) Service Model Metadata Tool

[Microsoft (R) Windows (R) Communication Foundation,版本 3.0.4506.2152]

版權所有(c) Microsoft Corporation。保留所有權利。

正在嘗試使用 WS-Metadata Exchange 從「net.tcp://127.0.0.1:50001/StudentServiceEndPoint」下載元數據。此 URL 不支持 DISCO。

正在生成文件...

E:\WCF\WCF_ChatRoom\StudentService.cs

E:\WCF\WCF_ChatRoom\output.config

請按任意鍵繼續. . .

客戶端的配置步驟
接下來,新建一個WindowsFormsApplication程序,將這個代理類拷入,配置文件修改名稱為App.config拷入,
然後在Form1.cs中拖入一個文本框,一個按鈕,一個DataGridView,後台代碼如下:
View Code
啟動這個實例,輸入學生ID,我們成功得到了服務端返回的值。
在本機和公網上的運行結果

那麼能不能在公網上使用呢?呵呵,這個當然,將服務端拷貝到外網的一台機器上,然後修改伺服器端的配置文件中的地址為:net.tcp://169.*.*.124:50001/ StudentServiceEndPoint,然後將本機的配置文件中的地址也修改為這個,最後運行,依然能夠得到返回的結果。

⑶ 《C#高級編程第7版中文版》pdf下載在線閱讀全文,求百度網盤雲資源

《C#高級編程第7版中文版》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1FXs1DmYX0WGaevz5XYrcqg

?pwd=9hha 提取碼: 9hha
簡介:回顧.NET體系結構、對象、泛型、繼承、數組、運算符、類型強制轉換、委託、事件、Lambda表達式等,詳細論述C中的動態對象、命名參數和可選參數、COM專用的交互作功能、安全類型變體,闡述.NET4的新增功能、WF4、ADO.NET數據服務、MEF、並行任務庫和PLINQ,深入探討LINQ、WCF、WPF、流文檔和固定文檔及Silverlight等功能強大的技術,回顧ASP.NET編程,介紹ASP.NETMVC和ASP.NET動太數據等新功能,討論使用WCF、MSMQ、點對點和聯合進行通信。

閱讀全文

與wcf服務編程pdf相關的資料

熱點內容
舒淇六部 瀏覽:901
穿越影視世界收女主的小數 瀏覽:851
胸很大電影 瀏覽:924
台灣催淚老電影推薦 瀏覽:924
android數據觀察者 瀏覽:530
如何破解收費軟體app 瀏覽:884
原理圖編譯器生成的文件後綴 瀏覽:824
成龍非洲盜寶電影 瀏覽:597
回到古代當太子的小說免費閱讀 瀏覽:602
香港武打電影功夫片免費完整版 瀏覽:627
河南聯通伺服器地址雲空間 瀏覽:768
海泰克怎麼加密 瀏覽:895
hashset遍歷java 瀏覽:371
中國打越南電影有哪些 瀏覽:702
消失的眼角膜之瞎子傳奇在線觀看 瀏覽:272
如何在蘋果平板上設置app切換 瀏覽:707
帶著金手指到民國 瀏覽:593
les肉電影 瀏覽:821
嬰兒武打片 瀏覽:642
師徒訓誡小說推薦 瀏覽:548