sunucu tarafı asp.net kodu ile silverlight nesneleri geçmek

oy
2

bu asp.net sunucu tarafı kodu ile Silverlight kontrol nesneleri (seri sınıfları ya da başka yollar) geçmek mümkün mi?

Oluştur 09/12/2008 saat 23:18
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
3

Eh, seri dahil olacak. Hatırla - Silverlight istemci tarayıcı sunucudan kesilir gibi, sunucudan bağlantısı kesilir.

Güzel bir yazı var burada ve Silverlight gelen JSON serileştirme üzerinde. İşte makaleden özetidir:

JSON ne olduğu kısa bir giriş ile başlayalım. Bu açılımı J ava S cript O Nesne , N -rotasyon ve XML bir alternatif olarak kullanılmaktadır. İşte bir JSON dosyası için basit bir örnek:

{"FirstName":"Martin","LastName":"Mihaylov"} tek bir nesne için

Ve

[{"FirstName":"Martin","LastName":"Mihaylov"},{"FirstName":"Emil","LastName":"Stoychev"}] Birden çok nesne için.

Bu bir dizi gibi görünüyor. Gerçekten karmaşık görünebilir tefrika nesnenin bağlı.

Dizgeleştirme

DataContractJsonSerializer ile serializable olmak için biz [DataContract] özniteliği ayarlamak gerekiyor. serileştirme tarafından kullanılacak Properites [DataMember] özelliklerini olmalıdır. Not: Bu nitelikler System.Runtime.Serialization bir başvuru eklemek kullanmak için;

[DataContract]
public class Person
{

    [DataMember]
    public string FirstName
    {
        get;
        set;
    }

    [DataMember]
    public string LastName
    {
        get;
        set;
    }

}

Şimdi serileştirme ile başlamaya hazır bulunmaktadır. en bağımsız değişken olarak bizim nesneyi alır ve JSON biçiminde bir dize döndürür bir yöntemi yaratalım:

public static string SerializeToJsonString(object objectToSerialize)
{
    using (MemoryStream ms = new MemoryStream())
    {
        DataContractJsonSerializer serializer =
        new DataContractJsonSerializer(objectToSerialize.GetType());
        serializer.WriteObject(ms, objectToSerialize);
        ms.Position = 0;


        using (StreamReader reader = new StreamReader(ms))
        {
            return reader.ReadToEnd();
        }

    }

}

deserializing

public static T Deserialize<T>(string jsonString)
{

    using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(jsonString)))
    {

        DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));


        return (T)serializer.ReadObject(ms);

    }

}

İşte bu müşteri kodundan neye benzediği:

List<Person> persons = Deserialize<List<Person>>( jsonString );
Cevap 09/12/2008 saat 23:25
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more