WCF傳輸物件的方法,javascript+ajax傳送Json物件給WCF
我們會需要利用AJAX傳送物件給WCF
讓WCF去接收資料並且再利用
作法為
1.先建立已啟用AJAX 的 WCF
2.建立傳輸的物件,物件需要設定[DataContract],
裡面的要輸出輸入的資料要設定[DataMember]
3.要注意資料設定為Serializable和DataMember是不一樣的輸出和輸入
/// Result of Person class marked as Serializable
{"k__BackingField":"Chris","k__BackingField":"Pietschmann"}
/// Result of Person class marked as DataContract with
/// each Property marked as DataMember
{"FirstName":"Chris","LastName":"Pietschmann"}
4.Client端要組和出Json字串上傳給伺服器端,Javascript的使用者要注意要用""包起來
不然會被當作是物件上傳
5.另外要注意中文要用UTF8
參考資料為
http://pietschsoft.com/post/2008/02/NET-35-JSON-Serialization-using-the-DataContractJsonSerializer.aspx
讓WCF去接收資料並且再利用
作法為
1.先建立已啟用AJAX 的 WCF
2.建立傳輸的物件,物件需要設定[DataContract],
裡面的要輸出輸入的資料要設定[DataMember]
[DataContract]
public class Person
{
Person() { }
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
}
3.要注意資料設定為Serializable和DataMember是不一樣的輸出和輸入
/// Result of Person class marked as Serializable
{"
/// Result of Person class marked as DataContract with
/// each Property marked as DataMember
{"FirstName":"Chris","LastName":"Pietschmann"}
string retval = Encoding.UTF8.GetString(ms.ToArray());Person us = (Person)serial.ReadObject(ms);
參考資料為
http://pietschsoft.com/post/2008/02/NET-35-JSON-Serialization-using-the-DataContractJsonSerializer.aspx
留言