//得到服务配置信息 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); } } }
///// <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); }