コード例 #1
0
        //得到服务配置信息
        private static MB.Util.Model.WcfCredentialInfo createClientConfigInfo(MB.Util.Model.ServerConfigInfo serverInfo)
        {
            if (serverInfo.Credential.IndexOf(':') >= 0)
            {
                MB.Util.Model.WcfCredentialInfo newInfo = new MB.Util.Model.WcfCredentialInfo();
                // MessageBox.Show("从中连接服务:" + serverInfo.Credential);
                newInfo.BaseAddress = serverInfo.Credential;
                return(newInfo);
            }
            else
            {
                string creName      = serverInfo.Credential;
                string fileFullName = AppDomain.CurrentDomain.BaseDirectory + serverInfo.Credential;
                if (!System.IO.File.Exists(fileFullName))
                {
                    MB.Util.TraceEx.Write(string.Format("证书文件{0} 找不到", fileFullName));
                    throw new MB.Util.APPException("对应选择的服务器还没有注册相应的安全访问证书,请联系系统管理员", APPMessageType.DisplayToUser);
                }
                //throw new MB.Util.APPException(string.Format("证书文件{0} 找不到", fileFullName), APPMessageType.DisplayToUser);

                try {
                    System.IO.StreamReader r = new System.IO.StreamReader(fileFullName);
                    string txt = r.ReadToEnd();
                    r.Close();
                    r.Dispose();

                    string dStr = MB.Util.DESDataEncrypt.DecryptString(txt);
                    MB.Util.Serializer.EntityXmlSerializer <MB.Util.Model.WcfCredentialInfo> ser = new MB.Util.Serializer.EntityXmlSerializer <MB.Util.Model.WcfCredentialInfo>();
                    return(ser.SingleDeSerializer(dStr, string.Empty));
                }
                catch (Exception ex) {
                    throw new MB.Util.APPException(string.Format("证书文件{0} 不是有效的证书!", fileFullName), APPMessageType.DisplayToUser, ex);
                }
            }
        }
コード例 #2
0
        ///// <summary>
        ///// 判断是否启动Windows
        ///// </summary>
        ///// <returns></returns>
        //public static bool StartWindowsCredential{
        //    get {
        //        return _StartWindowsCredential;
        //    }
        //}
        //
        /// <summary>
        /// 创建另外一种windows 凭证。
        /// </summary>
        /// <param name="cfgInfo"></param>
        /// <returns></returns>
        public static System.Net.NetworkCredential CreateNetworkCredential(MB.Util.Model.WcfCredentialInfo cfgInfo)
        {
            string user = cfgInfo.UserName;
            string name = cfgInfo.Password;

            System.Net.NetworkCredential credentials = new System.Net.NetworkCredential();
            if (!string.IsNullOrEmpty(cfgInfo.Domain))
            {
                credentials.Domain = cfgInfo.Domain;
            }

            credentials.UserName = user;
            credentials.Password = name;
            return(credentials);
        }