導航:首頁 > 數據分析 > wcf介面能反回哪些數據類型

wcf介面能反回哪些數據類型

發布時間:2022-09-03 03:27:09

❶ 什麼是wcf

Windows Communication Foundation(WCF)是由微軟開發的一系列支持數據通信的應用程序框架,可以翻譯為Windows 通訊開發平台。

❷ 服務端使用WCF客戶端是Extjs4,通過Ext.data.Jsonp.request跨域請求的WCF返回Json格式數據客戶端接收不了

客戶端接收不了,是瀏覽器報的錯,還是extjs解析報的錯,這個問題慢慢調,先把返回的Json串寫的簡單點,一點點拼成你想要的格式,一定可以解決。
祝你好運

❸ 技術中的wcf是什麼意思

Windows Communication Foundation(WCF)是由微軟開發的一系列支持數據通信的應用程序框架,可以翻譯為Windows 通訊開發平台。

整合了原有的windows通訊的 .net Remoting,WebService,Socket的機制,並融合有HTTP和FTP的相關技術。

是Windows平台上開發分布式應用最佳的實踐方式。

簡單的歸結為四大部分:

1、網路服務的協議,即用什麼網路協議開放客戶端接入。

2、業務服務的協議,即聲明服務提供哪些業務。

3、數據類型聲明,即對客戶端與伺服器端通信的數據部分進行一致化。

4、傳輸安全性相關的定義。

wcf客戶端:

對於 WCF 的客戶端來說,WCF 服務就像是一個 Web Service 一樣,在 Visual Studio 2008 中,所有 WCF 服務的連接都是由客戶端的 服務代理(WCF Service Proxy) 來運行,開發人員不用花費太多心思在通信上,而 WCF Service Proxy 在 Visual Studio 中被稱為服務引用(Service Reference)。

在 Visual Studio 中加入 WCF 的服務引用時,Visual Studio 會自動幫開發人員做掉一些必要工作(例如組態創建以及產生 Service Proxy 等),開發人員只需要在代碼中取用 WCF Service Proxy 對象即可。

❹ wcf服務返回json格式的問題,求助!!!!

wcf傳輸裡面是否包含json沒有任務關系,也和基於tcp協議也沒有關系,至於xml你也是更不用關注,你唯一需要關注的是序列化和反序列化,然後裡面的數據你可以自己封裝。

❺ wcf 返回在本地測沒事為什麼在伺服器上就返回空

你好,在確定服務方法本身沒有邏輯錯誤的情況下出現此情況,99%是因為序列化問題導致的。
通常的情況是服務方法的返回值是不可序列化的對象類型。

如果返回值是自定義類型,可以參考新建wcf項目時微軟替你添加的演示代碼,其中的[DataContract]標明了數據契約,成員上的[DataMember]指定了該類中需要被序列化的數據成員。

當然,你也可以修改服務方法,令其返回其他可序列化格式的數據。

最後,如果需要調試時發現服務方法的內部錯誤,請在服務方法特性上添加[ServiceBehavior(=true)],它將允許在運行時將異常信息傳送回客戶端,方便你在客戶端調試。
上述特性等價於在服務配置文件中的ServiceBehavior一節上使用同名配置。

❻ 如何解決WCF 無法傳輸object類型

可以通過定義一個中間類型來傳遞object對象。方法就是在這個類型中包含一個object的成員,並且定義該成員為KnownType。代碼如下:
[DataContract]
[KnownType(typeof(Proct))] //必須標記Proct類型
public class RequestData
{
[DataMember]
public object RequestObject;
}
通過傳遞RequestData,就能變相實現object對象的傳遞。
[ServiceContract]
public interface IProctInfo
{
[OperationContract]
string GetProctTypeName(RequestData requestData);
}

public class ProctInfo : IProctInfo
{
public string GetProctTypeName(RequestData requestData)
{
return requestData.RequestObject.ToString();
}
}

不過,你會發現任何自定義對象都必須在RequestData中預先設定為KnownType,否則WCF無法序列化。這顯然還不夠靈活。為了讓方法可以方便的調用,而不需要擔心是否標記了KnownType,我們可以通過定義一個方法並把這個方法名作為KnownType參數來解決此問題。這里用到KnownType的另一個重載方法:
KnownTypeAttribute(string methodName);
這個方法必須滿足以下條件:
a 必須是static,因為需要在對象實例化之前調用。
b 必須是不帶任何參數的。
C 返回類型必須是可被IEnumerable接受的,(也就是實現了IEnumerable介面的)。
改造後RequestData如下:
[DataContract]
[KnownType("GetKnownType")]
public class RequestData
{
//增加構造函數方便使用
public RequestData(object requestObj)
{
RequestObject = requestObj;
}
[DataMember]
public object RequestObject;
private static Type[] GetKnownType()
{
//將自定義對象的程序集下的所有類型標記為KnownType。
return Assembly.Load("DataEntityAssemblyName").GetTypes();
}
}
在GetKnownType函數中,程序將自定義類型的程序集包含的類型全部返回,這下就省事多了。。

❼ 什麼是WCF

Windows Communication Foundation(WCF)是由微軟開發的一系列支持數據通信的應用程序框架,可以翻譯為Windows 通訊開發平台。
整合了原有的windows通訊的 .net Remoting,WebService,Socket的機制,並融合有HTTP和FTP的相關技術。
是Windows平台上開發分布式應用最佳的實踐方式。
簡單的歸結為四大部分
1>.網路服務的協議,即用什麼網路協議開放客戶端接入。
2>.業務服務的協議,即聲明服務提供哪些業務。
3>.數據類型聲明,即對客戶端與伺服器端通信的數據部分進行一致化。
4>.傳輸安全性相關的定義。它是.NET框架的一部分,由 .NET Framework3.0 開始引入,與Windows Presentation Foundation及Windows Workflow Foundation並行為新一代 Windows操作系統以及 WinFX 的三個重大應用程序開發類庫。在 .NET Framework2.0 以及前版本中,微軟發展了 Web Service(SOAP with HTTP communication),.NET Remoting (TCP/HTTP/Pipeline communication) 以及基礎的 Winsock 等通信支持。由於各個通信方法的設計方法不同,而且彼此之間也有相互的重疊性,對於開發人員來說,不同的選擇會有不同的程序設計模型,而且必須要重新學習,讓開發人員在使用中有許多不便。同時,面向服務架構(Service-Oriented Architecture) 也開始盛行於軟體工業中,因此微軟重新查看了這些通信方法,並設計了一個統一的程序開發模型,對於數據通信提供了最基本最有彈性的支持,這就是 Windows Communication Foundation。

❽ WCF服務,介面能返回哪些數據類型

服務層包含一個介面層,介面層定義服務的返回類型及參數等,WCF服務繼承自介面層,定義一個公共的同介面層返回類型及參數完全相同的方法,返回數據源一般為DataSet型(可序列化,DataTable型不可序列化故不能作為服務的返回類型或參數類型),方法可通過調用業務邏輯層及數據訪問層返回數據源。在表示層添加服務引用,找到需要引用的WCF服務,添加WCF服務以後在表示層實例化即可調用。在本機調試需要再添加一個Host服務啟動層,在運行程序之前需先啟動WCF服務。

❾ Web Service和WCF的到底有什麼區別

Web
Service是早期的技術實現了,也是soap的東西,採用的主要是http協議,假如是在C#上開發的話,需要寄宿在IIS上來實現。
WCF的話是相對較新的技術,裡面的basichttpbinding可以跟以前的ws進行通信,並且集成了大部分的通信協議(幾種http協議的實現以及net.Tcp實現、msmq、命名管道等實現),另外寄宿的宿主可以是命令行控制台、IIS、桌面程序等。
差別的話,感覺有這以下幾點[針對C#來說的]。
1.
ws的話,編程模型沒有wcf的那麼好,具體的實現差別建議網路下,個人覺得wcf比較好。wcf可以用契約的介面方式來進行實現,而ws的話主要是通過繼承WebService的類來實現的,方法上添加WebMethod特性,WCF的話是通過服務契約來聲明(可以是介面也可以是類對象)
2.
ws的話通用性比較強,跟java等ws也可以進行互相通信,然後假如是wcf發布的服務,除了basicHttpBinding這種綁定之外,其餘的幾種綁定基本上不能作為互相通信。例如命名管道跟net.Tcp都是,值得說的是這里的net.Tcp跟原生的tcp是不一樣的,內部實現上參考tcp的可靠連接機制進行了應用層的一套實現。
3.
另外一點就是服務引用跟web引用上的,這個嚴格來說不能屬於兩者的區別,只是.net版本的區別,主要是針對客戶端對服務端發布好的服務進行的引用,服務引用生成的時候,會在配置文件上存在一份配置項,可以進行ABC終結點的配置,假如是web引用的話,會在setting中添加上一個硬編碼的地址。建議用服務引用。
4.
還有一個就是客戶端調用服務端開發的時候,webservice的話,基本上只能通過服務端發布的地址來進行引用[應用的方式可以參考點3],或者通過服務端提供的wsdl文件來進行引用(該種方式一般比較少,因為需要提供文件,而不是通過公開的方式來進行介面的提供,無法應對服務變更後發布問題,但是確實有這個情況的存在)。而wcf的話,還存在可以通過提供契約文件(就是聲明了ServiceContract的那個介面文件)來進行服務的調用。
5.
在介面層面的話,凡是IList<class
T>以及IDictionary<class
T>這一類的泛型實現都會在進行服務引用的時候,都會轉換為數組的,例如void
F(IList<int>)會在引用後成為void
F(int[])這種方式,而才用點4提供的契約文件的話就能保持方法的原始聲明。
個人建議的話,假如是新開發的系統基本上都才用wcf比較好,一個是介面的思想,一個是假如需要轉換為其他協議的話可以比較方便,只需要通過配置文件修改下就可以[當前前提是沒有用到特定協議的特定屬性,例如服務回調,有些協議是不支持雙向通信的]。而且也需要考慮發布的服務是否需要公開給別的語言進行通信。

❿ wcf是什麼

​ Windows Communication Foundation(WCF)是由微軟開發的一系列支持數據通信的應用程序框架,可以翻譯為Windows 通訊開發平台。WCF的最終目標是通過進程或不同的系統、通過本地網路或是通過Internet收發客戶和服務之間的消息。WCF合並了Web服務、.net Remoting、消息隊列和Enterprise Services的功能並集成在Visual Studio中。WCF專門用於面向服務開發。

閱讀全文

與wcf介面能反回哪些數據類型相關的資料

熱點內容
snow密碼錯誤怎麼辦 瀏覽:733
電腦主機如何存儲數據2年 瀏覽:456
學校網路是什麼模式 瀏覽:330
電腦微信config文件能刪除嘛 瀏覽:312
如何下載蘇州道app 瀏覽:382
網路接入服務商查詢 瀏覽:370
全球網大數據天眼系統是什麼 瀏覽:2
word2007顯示批註 瀏覽:177
xlsm宏文件如何使用 瀏覽:761
db2資料庫連接池如何重連 瀏覽:7
安卓蘋果換機傳文件 瀏覽:562
win10對話框不全 瀏覽:614
iphone4刪除不了照片 瀏覽:803
安卓faceriglive2d 瀏覽:736
sas大數據累加高位溢出 瀏覽:777
線切割編程軟體怎麼畫45度角 瀏覽:660
電腦系統分區刪除後還有文件嗎 瀏覽:134
應用文件名不能打中文否則打不開 瀏覽:463
mt6752工具 瀏覽:949
flash多邊形工具邊數 瀏覽:576

友情鏈接