예제 #1
0
        public static HproseClient Create(string uri)
        {
            Uri u = new Uri(uri);
            HproseClientCreator creator = (HproseClientCreator)clientFactories[u.Scheme];

            if (creator != null)
            {
                return(creator(uri));
            }
            throw new HproseException("The " + u.Scheme + " client isn't implemented.");
        }
예제 #2
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.");
        }
예제 #3
0
 public static void RegisterClientFactory(string scheme, HproseClientCreator creator)
 {
     clientFactories[scheme.ToLower()] = creator;
 }