2011-03-25 57 views
1

我可以在啓用AJAX的WCF和我的asp.net頁面之間傳遞自定義對象嗎?自定義業務對象:啓用AJAX WCF

我搜索了網頁,但找不到任何例子。大多數顯示簡單的類型,如字符串和整數。

我也不知道如何在客戶端通過JavaScript填充自定義對象的屬性。

我們有瀏覽器上增加,我們必須將數據從一個Web服務傳遞給插件,我研究,看起來像AJAX啓用WCF是路要走

使用.NET Framework 3.5和VS 2008

回答

0

你不能傳遞實際的自定義對象,但你當然可以通過你的服務和你的頁面,JavaScript等等傳遞它們的序列化版本。基本上,你必須映射覆雜自定義的字段。 NET類型轉換爲使用DataContract屬性修飾的類。這些類是您的服務將返回的類型。 DataContract-decorated類將包含帶有原始類型的字段,如字符串,整數等.WCF服務將這些字段序列化爲XML或JSON。

在客戶端,jQuery將是你最好的朋友。我個人更喜歡JSON,因爲對象的屬性更容易以這種方式獲得,而不必處理解析一堆XML。所以,設置你的服務來輸出JSON。

此外,爲了使您的服務URL更易於閱讀,請務必使用RESTful方法。這與使用WebGet屬性裝飾服務方法並提供UriTemplate一樣簡單。一旦你看到一些例子,它會打擊你的想法。注意:如果您遇到過使用Method =「GET」的WebInvoke,則只需使用WebGet即可...更緊湊...無需方法規範。

這種特殊的文章是對我非常有用,當我發展我的WCF服務和消費它ASP.NET應用程序:http://www.c-sharpcorner.com/UploadFile/sridhar_subra/116/

這裏是另一個人問同樣的問題,你:http://social.msdn.microsoft.com/forums/en-US/wcf/thread/879d46af-9c78-4b5d-b746-82843d742a6f

希望這有助於!萬歲WCF!

+0

感謝NoveJoe,所以我將在WCF中使用JSON序列化並使用ScriptManager來使用它。 – cshah 2011-03-25 18:27:39

+0

酷!不太確定你可以直接使用ScriptManager來使用它。 ScriptManager聽起來像:管理腳本。不過,我絕對推薦使用jQuery來使用它。當然,您可以使用ScriptManager加載您的jQuery腳本。 – NovaJoe 2011-03-25 18:44:42

0

對於.NET 3.5,您最好的選擇是WebHttpBinding,它接受普通的舊XML(POX),並且您需要將XML發送到WCF服務。

您還可以使用REST入門工具包使用WCF REST。對於樣品看看here。這也支持JSON。

如果您使用的是.NET 4.0,那麼支持JSON的WCF HTTP就是最好的選擇。雖然我真的不喜歡它,但WCF REST 4.0是另一種選擇。