示例#1
0
        public static T Unserialize <T>(byte[] data, HproseMode mode)
        {
            MemoryStream stream = new MemoryStream(data);
            HproseReader reader = new HproseReader(stream, mode);

            return(reader.Unserialize <T>());
        }
示例#2
0
        public static object Unserialize(byte[] data, HproseMode mode, Type type)
        {
            MemoryStream stream = new MemoryStream(data);
            HproseReader reader = new HproseReader(stream, mode);

            return(reader.Unserialize(type));
        }
 public static new HproseClient Create(string uri, HproseMode mode) {
     Uri u = new Uri(uri);
     if (u.Scheme != "http" &&
         u.Scheme != "https") {
         throw new HproseException("This client doesn't support " + u.Scheme + " scheme.");
     }
     return new HproseUnityHttpClient(uri, mode);
 }
示例#4
0
 protected HproseClient(string uri, HproseMode mode)
 {
     if (uri != null)
     {
         UseService(uri);
     }
     this.mode = mode;
 }
示例#5
0
        public static MemoryStream Serialize(object obj, HproseMode mode)
        {
            MemoryStream stream = new MemoryStream();
            HproseWriter writer = new HproseWriter(stream, mode);

            writer.Serialize(obj);
            return(stream);
        }
示例#6
0
        public static new HproseClient Create(string uri, HproseMode mode)
        {
            Uri u = new Uri(uri);

            if (u.Scheme != "http" &&
                u.Scheme != "https")
            {
                throw new HproseException("This client doesn't support " + u.Scheme + " scheme.");
            }
            return(new HproseUnityHttpClient(uri, mode));
        }
示例#7
0
        public static HproseClient Create(string uri, HproseMode mode)
        {
            Uri u = new Uri(uri);

#if (dotNET10 || dotNET11 || dotNETCF10)
            HproseClientCreator creator = (HproseClientCreator)clientFactories[u.Scheme];
#else
            HproseClientCreator creator = null;
            clientFactories.TryGetValue(u.Scheme, out creator);
#endif
            if (creator != null)
            {
                return(creator(uri, mode));
            }
            throw new HproseException("The " + u.Scheme + " client isn't implemented.");
        }
        protected static ObjectUnserializer Get(HproseMode mode, Type type, string[] names, CreateObjectUnserializerDelegate createObjectUnserializer)
        {
            CacheKey           key          = new CacheKey(mode, type, names);
            ObjectUnserializer unserializer = null;

            try {
#if (dotNET35 || dotNET4)
                unserializersCacheLock.EnterReadLock();
#else
                unserializersCacheLock.AcquireReaderLock(-1);
#endif
                if (unserializersCache.TryGetValue(key, out unserializer))
                {
                    return(unserializer);
                }
            }
            finally {
#if (dotNET35 || dotNET4)
                unserializersCacheLock.ExitReadLock();
#else
                unserializersCacheLock.ReleaseReaderLock();
#endif
            }
            try {
#if (dotNET35 || dotNET4)
                unserializersCacheLock.EnterWriteLock();
#else
                unserializersCacheLock.AcquireWriterLock(-1);
#endif
                if (unserializersCache.TryGetValue(key, out unserializer))
                {
                    return(unserializer);
                }
                unserializer            = createObjectUnserializer(type, names);
                unserializersCache[key] = unserializer;
            }
            finally {
#if (dotNET35 || dotNET4)
                unserializersCacheLock.ExitWriteLock();
#else
                unserializersCacheLock.ReleaseWriterLock();
#endif
            }
            return(unserializer);
        }
示例#9
0
        public static object Unserialize(Stream stream, HproseMode mode, Type type)
        {
            HproseReader reader = new HproseReader(stream, mode);

            return(reader.Unserialize(type));
        }
示例#10
0
        public static T Unserialize <T>(Stream stream, HproseMode mode)
        {
            HproseReader reader = new HproseReader(stream, mode);

            return(reader.Unserialize <T>());
        }
示例#11
0
 public HproseTcpClient(string uri, HproseMode mode)
     : base(uri, mode)
 {
     InitHproseTcpClient();
 }
示例#12
0
 protected HproseClient()
 {
     mode = HproseMode.FieldMode;
     filter = null;
 }
示例#13
0
 public HproseUnityHttpClient(string uri, HproseMode mode)
     : base(uri, mode)
 {
     mb = new MonoBehaviour();
 }
示例#14
0
 public HproseTcpClient(HproseMode mode)
     : base(mode)
 {
     InitHproseTcpClient();
 }
 public HproseUnityHttpClient(string uri, HproseMode mode)
     : base(uri, mode) {
     mb = new MonoBehaviour();
 }
示例#16
0
        public static void Serialize(object obj, Stream stream, HproseMode mode)
        {
            HproseWriter writer = new HproseWriter(stream, mode);

            writer.Serialize(obj);
        }
示例#17
0
 protected HproseClient(HproseMode mode)
     : this(null, mode)
 {
 }
示例#18
0
 protected HproseClient(HproseMode mode)
     : this(null, mode)
 {
 }
示例#19
0
 protected HproseClient(string uri, HproseMode mode)
 {
     if (uri != null) {
         UseService(uri);
     }
     this.mode = mode;
 }
示例#20
0
 protected HproseClient(string uri, HproseMode mode)
 {
     UseService(uri);
     this.mode = mode;
 }
示例#21
0
 protected HproseClient(HproseMode mode)
 {
     this.mode = mode;
 }
示例#22
0
 protected HproseClient(string uri)
 {
     UseService(uri);
     mode = HproseMode.FieldMode;
 }
示例#23
0
 protected HproseClient()
 {
     mode   = HproseMode.FieldMode;
     filter = null;
 }
示例#24
0
 public HproseHttpClient(string uri, HproseMode mode)
     : base(uri, mode)
 {
 }
示例#25
0
 public HproseHttpClient(HproseMode mode)
     : base(mode)
 {
 }
示例#26
0
 protected HproseClient(string uri)
 {
     UseService(uri);
     mode = HproseMode.FieldMode;
 }
 public CacheKey(HproseMode mode, Type type, string[] names)
 {
     this.mode  = mode;
     this.type  = type;
     this.names = names;
 }
示例#28
0
 protected HproseClient(HproseMode mode)
 {
     this.mode = mode;
 }
 public HproseUnityHttpClient(HproseMode mode)
     : base(mode) {
     mb = new MonoBehaviour();
 }
示例#30
0
 protected HproseClient(string uri, HproseMode mode)
 {
     UseService(uri);
     this.mode = mode;
 }
示例#31
0
 public HproseUnityHttpClient(HproseMode mode)
     : base(mode)
 {
     mb = new MonoBehaviour();
 }
示例#32
0
 protected HproseClient()
 {
     mode = HproseMode.FieldMode;
 }