WCF alojado en un servicio de Windows Obteniendo excepciones de seguridad a pesar de que debería ejecutarse en Full Trust

Somos anfitriones de un servicio WCF (.NET 4.0) en un servicio de Windows. Funciona bastante bien en la mayoría de las máquinas, pero en algunas máquinas arroja la siguiente excepción: "Error: se produjo un error al crear el controlador de la sección de configuración para system.serviceModel / bindings: ese ensamblado no permite llamadas de confianza parcial". (El seguimiento de la pila completa se encuentra al final de esta publicación)

Parece que esta excepción es algo esperada en entornos de confianza parcial, pero por lo que sabemos, estamos (o deberíamos) ejecutarnos con plena confianza:

Todo está instalado en el C: \ drive @ loc El servicio de Windows se ejecuta con una cuenta de administrador No se establecen políticas de restricción de softwareNo hemos hecho nada para ejecutar explícitamente bajo confianza media

Y resulta que cuando eliminamos la sección de enlace de app.config (y hacemos la configuración en código), entonces todo funciona bien. Solo está leyendo la sección de configuración que está causando el problema.

Preguntas:

Entonces, ¿qué podría estar causando esta excepción de seguridad? ¿Cómo podemos saber si realmente estamos funcionando con plena confianza? ¿Qué ajustes de la computadora u opciones de configuración necesitamos cambiar para evitar esta excepción de seguridad?

Cualquier ayuda es apreciada

Aquí está el seguimiento de la pila:
Connect.Host.Connect.InitializeServiceHost(:0) Connect.Host.Connect.InitializeServiceHost(:0) [(null)] - Error: An error occurred creating the configuration section handler for system.serviceModel/bindings: That assembly does not allow partially trusted callers. (C:\Connect\MyApp\Host\Connect.Host.exe.Config line 54), stacktrace:    at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
   at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
   at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName)
   at System.Configuration.ConfigurationManager.GetSection(String sectionName)
   at System.ServiceModel.Activation.AspNetEnvironment.UnsafeGetSectionFromConfigurationManager(String sectionPath)
   at System.ServiceModel.Activation.AspNetEnvironment.UnsafeGetConfigurationSection(String sectionPath)
   at System.ServiceModel.Configuration.ConfigurationHelpers.UnsafeGetAssociatedSection(ContextInformation evalContext, String sectionPath)
   at System.ServiceModel.Description.ConfigLoader.LookupChannel(ContextInformation configurationContext, String configurationName, ContractDescription contract, EndpointAddress address, Boolean wildcard, Boolean useChannelElementKind, ServiceEndpoint& serviceEndpoint)
   at System.ServiceModel.ChannelFactory.InitializeEndpoint(String configurationName, EndpointAddress address)
   at System.ServiceModel.ChannelFactory`1..ctor(String endpointConfigurationName, EndpointAddress remoteAddress)
   at System.ServiceModel.EndpointTrait`1.CreateSimplexFactory()
   at System.ServiceModel.ClientBase`1.CreateChannelFactoryRef(EndpointTrait`1 endpointTrait)
   at System.ServiceModel.ClientBase`1.InitializeChannelFactoryRef()
   at System.ServiceModel.ClientBase`1..ctor()
   at Connect.BL.EndpointManager.RegisterEndpoint(Int32 endpointId)
   at Connect.Host.Connect.InitializeServiceHost() for endpoint 0

Respuestas a la pregunta(0)

Su respuesta a la pregunta