public static void ManejarExcepcion(Exception ex) { try { Boolean relanzar = ExceptionPolicy.HandleException(ex, "Politica Global"); if (relanzar) { ManejoExcepciones.ShowException(ex.Message, "Aviso", "AVISO"); } } catch { //string msgError = "Ha ocurrido un error inesperado mientras se llamaba " + // "al controlador de errores. "; string msgError = "Es posible que el controlador de execpciones no se encuentre instalado"; msgError += Environment.NewLine; ManejoExcepciones.ShowException(msgError + Environment.NewLine + ex.Message, "Aviso", "AVISO"); } }
public static void CrearProxyAuxiliar(string usuario, string password, ref ISvcAuxdSWin servicio, string servidor) { var host = Properties.Settings.Default.HostAuxiliar; try { _factoryAuxiliar = new ChannelFactory <ISvcAuxdSWin>(host); Ayudas.SetDataContractSerializerBehavior(_factoryAuxiliar.Endpoint.Contract); if (_factoryAuxiliar.Credentials != null) { _factoryAuxiliar.Credentials.UserName.UserName = usuario; _factoryAuxiliar.Credentials.UserName.Password = password; } if (servidor == null) { servicio = _factoryAuxiliar.CreateChannel(); } else { var abs = _factoryAuxiliar.Endpoint.Address.Uri.AbsolutePath; EndpointIdentity spn = EndpointIdentity.CreateSpnIdentity("Prueba"); var strUri = string.Format("http://{0}{1}", servidor, abs); Uri uri = new Uri(strUri); var address = new EndpointAddress(uri, spn); servicio = _factoryAuxiliar.CreateChannel(address); } //servicio = _factoryAuxiliar.CreateChannel(); } catch (CommunicationException e) { Abort((IChannel)servicio, _factoryAuxiliar); // if there is a fault then print it out FaultException fe = null; Exception tmp = e; while (tmp != null) { fe = tmp as FaultException; if (fe != null) { break; } tmp = tmp.InnerException; } if (fe != null) { string msgError = string.Format("Ha ocurrido un error en el Servidor {0} ", fe.CreateMessageFault().Reason.GetMatchingTranslation().Text); msgError += Environment.NewLine; ManejoExcepciones.ShowException(msgError, "Error de Aplicación", "Error de Aplicación"); } else { string msgError = string.Format("Solicitud erronea {0} ", e); msgError += Environment.NewLine; ManejoExcepciones.ShowException(msgError, "Error de Aplicación", "Error de Aplicación"); } } catch (TimeoutException) { Abort((IChannel)servicio, _factoryAuxiliar); string msgError = "Se ha excedido el tiempo de espera"; msgError += Environment.NewLine; ManejoExcepciones.ShowException(msgError, "Error de Aplicación", "Error de Aplicación"); } catch (Exception e) { Abort((IChannel)servicio, _factoryAuxiliar); string msgError = string.Format("Error inesperado en la solicitud {0} ", e); msgError += Environment.NewLine; ManejoExcepciones.ShowException(msgError, "Error de Aplicación", "Error de Aplicación"); } }