/// <summary> /// 根据WCF接口类型上的属性,注册wcf调用配置信息 /// </summary> /// <param name="iServiceType">需要注册的类型</param> public static void RegisterTypeIfMissing(Type iServiceType) { WcfServiceAttribute cfgAtt = getWcfServiceAttribute(iServiceType); WcfClientInvokeCfgInfo cfgInfo = new WcfClientInvokeCfgInfo(cfgAtt.RelativePath, cfgAtt.CredentialFileName); RegisterTypeIfMissing(iServiceType, cfgInfo); }
/// <summary> /// 得到WcfServiceAttribute /// </summary> /// <param name="iServiceType">WcfServiceAttribute使用的类型</param> /// <returns>WcfServiceAttribute</returns> private static WcfServiceAttribute getWcfServiceAttribute(Type iServiceType) { object[] desc = iServiceType.GetCustomAttributes(typeof(WcfServiceAttribute), false); if (desc == null || desc.Length <= 0) { throw new MB.Util.APPException("没有设置调用服务的配置信息WcfServiceAttribute!"); } WcfServiceAttribute cfgAtt = desc[0] as WcfServiceAttribute; return(cfgAtt); }