當前位置:首頁 » 操作系統 » wcf源碼下載

wcf源碼下載

發布時間: 2022-05-30 10:54:17

① 求《WCF服務編程》隨書源代碼,要完整版的啊

② IIS中的WCF服務如何獲得dll文件所存放的路徑

dll文件一般被存放在C:\Windows\System目錄下。電腦系統文件因經常會受到病毒的侵擾,導致系統文件、dll文件等丟失、損壞,一些包括游戲在內的應用程序無法啟動。
解決方法有:
1、用Windows系統盤功能進行文件修復;
2、若在此之前有一鍵備份過,可以重新還原;
3、從網上下載系統文件然後覆蓋到原文件夾里;
4、由於從網上下載系統文件,可能會因為系統文件版本與操作系統不相符造成系統文件不兼容的情況,修復系統文件最好使用專業的工具進行一鍵修復。
5、可以用騰訊電腦管家修復下。打開電腦管家——電腦診所——軟體問題——缺少dll文件。

③ WCF全面解析的前言

「全書之寫印,實系初稿。有時公私瑣務蝟集,每寫一句,三擱其筆;有時興會淋漓,走筆疾書,絮絮不休;有時意趣蕭索,執筆木坐,草草而止。每寫一段,自助覆閱,輒搖其首,覺有大不妥者,即貼補重書,故剪刀漿糊乃不離左右。個中甘苦,只自知之。」
在某個陽光明媚的早晨,我在去上班的公交車上翻看岳南先生的《南渡北歸》的時候,看到上面這段董作賓描述自己寫作《殷歷譜》之甘苦的文字,回想起我寫作這本書的經歷,不禁感慨萬千。我無意將《WCF全面解析》自比煌煌巨著《殷歷譜》,只是覺得人同此心,這段文字正好描述我寫作此書的狀態。
《WCF技術剖析(卷1)》(以下稱《卷1》)於2009年7月正式出版,在此不久我就開始了《卷2》的創作。對於《卷1》的寫作,我還算是游刃有餘,但是寫作《卷2》的難度是我始料未及的。如果像市面上大部分專著一樣只涉及WCF編程,我想《卷2》早在一年之前就已經完成了。但是我在寫作之初就沒有將本書定位為一本純粹的WCF編程書籍,而是決心寫一本「深入肌理」,對WCF進行「庖丁解牛」式剖析的書籍。在沒有任何現成資料可供參考的情況下,我只能通過對源碼的分析來了解其底層的實現原理。為了能夠確保這部分內容的正確性,我編寫了很多的測試程序來證實我的想法。
「探究之深」是本書難以在較短的時間之內交付出版的一個主要原因,而另一個因素則是「涉及之廣」。WCF不是微軟在Windows平台下的閉門造車,而是在設計之初就考慮到了針對開放標準的支持。《卷2》涉及到太多的WS-*規范,比如「異常處理」一章涉及到SOAP;「元數據」一章涉及到WS-Policy、WS-Transfer、WS-MEX和WSDL;「事務」一章涉及到WS-Coordination和WS-AT;「可靠會話」一章涉及到WS-RM;「傳輸安全」一章涉及到WS-Security、WS-Trust 、WS-Secure Conversation和WS-Security Policy;「WCF 4.0新特性」一章涉及到WS-Discovery。對於這一系列的WS-*規范,單單從頭到尾看一遍都需要花費不少時間,而我已經不太記得自己究竟看多少遍了。
《卷1》的整個內容基本上都圍繞著WCF本身,但《卷2》卻涉及到不少的背景知識。為了讓讀者對WCF有一個全面而深刻的了解,我在書中涉及到很多背景知識的介紹。比如「事務」一章中花費了很多文字介紹MSDTC和System.Transactions事務;「並發與限流」一章中有針對同步上下文的介紹;為了讓讀者能夠深入認識可靠會話的實現原理,我將其同TCP協議的機制進行類比;「隊列服務」一章中對MSMQ進行了系統的介紹;「傳輸安全」一章中更是涉及到針對非對稱加密以及NTLM和Kerberos認證原理的介紹。
由於寫作難度不小,加上寫作和資料收集只能在工作之餘進行,所以很多次都有中途放棄的念頭。很有意思的是,每次在我下定決心放棄寫作後沒幾天總是會收到《卷1》的讀者給我的留言,這些留言體現了對《卷1》的肯定,充滿了對《卷2》的期待。讀者的肯定和期待一次次給了我堅持下去的力量,前後經歷了兩年的時間終於完成了《卷2》,這算是對讀者的交代,也是對我自己的交代。
《卷2》完稿之後我開始為《卷1》的再版進行修訂。對於出版後的《卷1》我基本上很少翻看,因為我個人基本上不太喜歡翻看自己寫的東西,包括自己寫的400多篇博客文章。針對《卷1》的修訂讓我第一次完整地閱讀自己寫的東西,經過了寫作《卷2》的「折磨」,讓我對WCF有了更加深刻的認識,於是我基於對WCF最新的理解開始對《卷1》的內容進行大刀闊斧的修改。雖然《卷1》大體上還是保留著原來的結構,但是內容已經發生了巨大的改變。據我粗略估計,改動內容的比率基本上達到一半。
最後我將《卷2》和修訂後的《卷1》給李建忠和呂建偉(阿朱)老師幫忙審閱,李建忠老師建議增加關於WCF REST的內容,於是我在《卷1》中新加了「REST服務」一章。由於新的《卷1》已經難現往日模樣,在本書的策劃編輯張春雨老師的建議下我決定將原《卷1》和《卷2》作為一個整體分上、下冊出版,於是才有了你手中的這本《WCF全面解析》。 「實踐出真知」,不斷地在具體應用中進行實踐是學習WCF最有效的手段。實踐是檢驗真理的唯一標准,通過將所學的WCF知識應用到一個真正的應用之中,才能確保我們掌握的知識的正確性。實踐不但可以鞏固我們的所學,還會讓我們意識到不足。《WCF全面解析》在每一章節都會提供一系列的實例演示,讀者可以單獨下載這163個實例的源代碼。

④ 如何部署用.net framework 4.5 寫的wcf

寫好代碼,准備部署wcf到iis時,首先遇到第一個問題

1.HTTP 錯誤 404.3 - Not Found
由於擴展配置問題而無法提供您請求的頁面。如果該頁面是腳本,請添加處理程序。如果應下載文件,請添加 MIME 映射。
1. wcf 由於擴展配置問題而無法提供您請求的頁面。如果該頁面是腳本,請添加處理程序

解決方法: 網上說注冊iss aspnet_iis ,結果在我這行不通,然後我在啟用或關閉windows 功能中發現 .NET Framework 4.5 中的Http激活沒有打勾,於是打上勾,這個問題就解決了


緊接著出現下面一個問題:
2. 無法激活服務,因為它不支持 ASP.NET 兼容性
錯誤提示:無法激活服務,因為它不支持 ASP.NET 兼容性。已為此應用程序啟用了 ASP.NET 兼容性。請在 web.config 中關閉 ASP.NET 兼容性模式或將 屬性添加到服務類型且同時將 RequirementsMode 設置為「Allowed」或「Required」。

解決方法: 轉自 http://blog.csdn.net/hawksoft/article/details/7524866
默認情況下ASP.NET兼容性支持是關閉的,但很多時候需要打開Asp.Net的兼容性來利用Asp.Net的一些特性(使用session,上下文等),具體可參考http://msdn.microsoft.com/zh-cn/library/ms752234.aspx。
如果要打開兼容性,需要做兩步:一是在服務類加上如下標記:
[(RequirementsMode = Mode.Required)]
public class AppRuntimeStateSvc : IAppRuntimeStateSvc
{
//服務代碼.
}
二是在web.config中的<system.serviceModel>段里加:
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
注意框架3.5以前都是默認就支持的,4.0以後默認就是沒有打開兼容性支持的.

然後出現最後一個問題:
3. 如果在配置中將「system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled」設置為 true,則需要終結點指定相對地址。如果在終結點上指定相對偵聽 URI,則該地址可以是絕對地址。若要解決此問題,請為終結點「http://localhost/Service1.svc」指定相對 URI。

解決方法:
<endpoint address="" //此處只拿出終結點地址部分
將終結點address改為空
原因:
IIS部署的時候,默認會有一個基地址Baseaddress,這個是根據你WCF服務程序的配置生成的。
如果你打算提供完成的地址格式,但是這個完整的地址格式 和Baseaddress 不匹配,比如埠不一樣,就會出錯。
address換成「」,目的就是使用默認的Baseaddress+「」。避免了你自己設置的和Baseaddress 不匹配的問題。

⑤ wcf怎麼和redis緩存結合

Redis是一個不錯的緩存資料庫,讀取數據速度效率都很不錯。今天大家共同研究下redis的用法。結合網上的資料和自己的摸索,先來看下安裝與配置把。咱們主要看在WINDOWS上怎樣使用REDIS資料庫。

下載地址:https://github.com/dmajkic/redis/downloads
1. 選擇一個版本進行下載,我們這里使用Redis-2.1.5 - Win32版本的。下載解壓後的文件如下圖:

2. 在D建立一個redis 文件夾(當然建在其他盤也可以),然後把上面解壓的32bit文件夾下面的所有文件拷貝到redis文件夾裡面。

3.打開伺服器端
通過CMD命令行打開伺服器端,首先通過命令行轉到d:\redis文件夾,然後輸入如下命令 redis-server.exe

4.打開客戶端
伺服器端的CMD命令行不要關閉,再單獨打開一個CMD命令行,切換到d:\redis文件夾,輸入如下命令:redis-cli.exe -h 127.0.0.1 -p 6379

然後輸入 set pwd 123456
get pwd
獲取返回值成功,說明伺服器端配置成功,

5.NET中怎樣使用Redis存儲數據.
在.net中比較常用的客戶端類庫是ServiceStack,看下通過servicestack怎樣存儲數據。
DLL下載:https://github.com/ServiceStack/ServiceStack.Redis,下載完成後,DLL中包括四個DLL文件,然後把這四個文件添加到自己的項目中。

6.示例代碼
Redis中包括四種數據類型,Strings, Lists, Sets, Sorted Sets接下來我們一一看這四種類型的用法。
[csharp] view plain
<pre class="html" name="code"> private void Redis()
{
RedisClient client = new RedisClient("127.0.0.1", 6379);
client.Set<string>("username", "郭靖");
client.Set<int>("pwd", 123456);
string username = client.Get<string>("username");
int pwd = client.Get<int>("pwd");
Response.Write("讀取緩存," + "姓名:" + username + ",密碼:" + pwd + "<br/>");
}

private void RedisForManyServer()
{
using (var manager = new PooledRedisClientManager("127.0.0.1", "192.1680.30.90"))
{
IRedisClient iclient = manager.GetClient();

UserInfo user = new UserInfo();
user.Name = "楊過";
user.Age = 18;

iclient.Set<UserInfo>("user", user);
UserInfo user2 = iclient.Get<UserInfo>("user");
Response.Write("讀取分布式緩存集群," + "姓名:" + user2.Name + ",年齡:" + user2.Age + "<br/>");
}
}</pre><br>

⑥ 求助遠程屏幕捕獲和傳輸VB源代碼

使用WCF的默認DataContractSerializer手動去序列化成byte[],然後接收後再手動去反序列化,能解決這個問題。也就是說單純的byte[]能過去,直接將下面代碼中的list以List<May>返回去就是出現LZ遇到的問題。

也就是說序列化與反序列化這一大塊數據都沒問題。主要問題還是出現在WCF組裝消息上了。
設置一下 ReaderQuotas 這個屬性,這是設置消息復雜性的。
感覺這種症狀很像被DOS幹掉的感覺,於是想到ReaderQuotas。

下面是我嘗試的例子。
C# code
publicbyte[] GetMays() { DataContractSerializer DCZ =newDataContractSerializer(typeof(List<May>)); List<May> list =new List<May>(); for (int i =0; i <30000; i++) { May tmp =new May { Name =DateTime.Now.ToString("yyyy-MM-dd") }; list.Add(tmp); } using(MemoryStream fs =new MemoryStream()) { DCZ.WriteObject(fs, list);return fs.ToArray(); } }
-------------------

用你這個方法搞定。客戶端還要設置下
netTcpBinding.ReaderQuotas.MaxArrayLength = 2147483647;
netTcpBinding.ReaderQuotas.MaxStringContentLength = 2147483647;
netTcpBinding.ReaderQuotas.MaxBytesPerRead = 2147483647;

//-------------------------------
System.Diagnostics.Stopwatch myWatch = new System.Diagnostics.Stopwatch();
myWatch.Start();
// TaxiInfo[] taxiInfos = PositionService.GetAllTaxiInfos();
byte[] sds = PositionService.GetMays();
myWatch.Stop();
Console.WriteLine("耗時:" + myWatch.ElapsedMilliseconds + "ms");

MemoryStream memory = new MemoryStream(sds);
XmlDictionaryReader reader =
XmlDictionaryReader.CreateTextReader(memory, new XmlDictionaryReaderQuotas());
DataContractSerializer ser = new DataContractSerializer(typeof(List<TaxiInfo>));
// Deserialize the data and read it from the instance.
List<TaxiInfo> deserializedPerson =
(List<TaxiInfo>)ser.ReadObject(reader, true);
reader.Close();
// Console.WriteLine(deserializedPerson);

這樣就沒問題了。

⑦ wcf nettcpbinding 只能在區域網使用嗎

區域網能使用,但不限於區域網。

WCF的基礎ABC和Endpoint,對於常見的場景如果這么多的組合顯然也很復雜,實際的應用中根據具體的場景選擇對應的方式
圖書」Programming WCF Services」(WCF服務編程) 對這個組合進行了詳細的總結,如下:
【對於WCF的基礎知識可以參閱圖書或其他資料】

⑧ 如何將一個wcf服務發布成WSDL

2
改個名字為「manager.wsdl」

3
下一步,定義命名空間和協議等信息,默認即行

4
finish後,會在主工作區出現如下圖

5
這是manager.wsdl的圖形化形式,點擊「Source」會可查看到源代碼

6
這是默認生成的wsdl,我們要根據我們的項目需要,修改上面的圖,首先對方法名進行修改

7
修改之後,右邊的input和output也跟著修改了,這兩個就是定義plus的輸入和輸出。 點擊input參數「plus」右邊的提示箭頭

8
就在這里定義輸入參數和和參數類型等信息,因為我們plus(float x, float y)方法中有兩個參數x和y,故我們將上圖改成兩個參數的序列

9
變成下圖,對比一下方法plus(float x, float y)

我們返回manager.wsdl視圖,選擇output參數右邊的箭頭

我們在這里設置float plus(float x, float y)方法的返回值及其類型,因其返回值只有一個,我們只須把上面的out的類型改成我們方法中用的float,改後,如下圖

有沒有注意到上圖左上角有個 圖標,點擊它,進入下圖

好了,我們再回到manager.wsdl,在源代碼視圖里右鍵選「Validate」,對xml文檔進行檢驗,如果有錯誤的,就根據需要修改。

好了,圖形化編寫的wsdl文檔完成了,順便說一下,方法是可以定義多個的

為簡單起見,我們就先以剛才做定義的那個方法為例,看看,如何根據wsdl文件,自動生成Web Service的伺服器端。
我們New一個Web Service

在Web Service type中選擇「Top down Java Bean Web Service」

在Service definition中找到剛才寫的那個manager.wsdl文件

Web Service對話框,將服務類型的滑塊調到「Develop service」處

接下來,就next –> next –-> finish就行。它會自動生成Web Service服務端的介面和類,在類中,可找到我們定義的方法

20
我們只要修改方法plus的方法體,以實現我們要實現的功能即行。

回答不容易,希望能幫到您,滿意請幫忙採納一下,謝謝 !

⑨ 誰有ASP.NET MVC3 WCF 開發的小項目源代碼

如果你是想學習的話,最好下載個mvc3的書籍,然後跟著他邊學變寫代碼,等你學完了,自然就有項目源碼了

熱點內容
如何設置一個通俗易懂的密碼 發布:2024-05-05 13:52:21 瀏覽:621
新網易我的世界伺服器 發布:2024-05-05 13:42:44 瀏覽:661
演算法題寫錯了 發布:2024-05-05 13:34:57 瀏覽:804
sql按小時分組 發布:2024-05-05 13:26:25 瀏覽:94
張藝謀我們一家訪問人 發布:2024-05-05 12:38:05 瀏覽:111
美版安卓系統怎麼安裝 發布:2024-05-05 12:37:18 瀏覽:920
qq郵箱緩存地址 發布:2024-05-05 12:37:16 瀏覽:986
電位演算法 發布:2024-05-05 12:36:01 瀏覽:727
我的世界清風斗羅大陸伺服器地址 發布:2024-05-05 12:35:50 瀏覽:453
dell伺服器如何進入bios 發布:2024-05-05 12:34:26 瀏覽:330