托管在 Windows 服务中的 WCF 出现安全异常,即使它应该在完全信任下运行

2023-11-29

我们在 Windows 服务中托管 WCF 服务 (.NET 4.0)。它在大多数机器上运行得很好,但在某些机器上它会抛出以下异常:“错误:为 system.serviceModel/bindings 创建配置节处理程序时发生错误:该程序集不允许部分受信任的调用者。” (完整的堆栈跟踪位于本文的底部)

在部分受信任的环境中,这种异常似乎是预料之中的,但据我们所知,我们正在(或应该)在完全信任下运行:

  • 一切都安装在本地 C:\ 驱动器上
  • Windows 服务在管理员帐户下运行
  • 未设置软件限制策略
  • 我们还没有做任何事情来明确地在中等信任下运行

事实证明,当我们从 app.config 中删除绑定部分(并在代码中进行配置)时,一切都会正常工作。只是读取导致问题的配置部分。

问题:

  • 那么什么可能导致这个安全异常呢?
  • 我们如何判断我们是否确实在完全信任的情况下运行?
  • 我们需要更改哪些计算机设置或配置选项才能避免这种安全异常?

任何帮助表示赞赏

这是堆栈跟踪:

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

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

托管在 Windows 服务中的 WCF 出现安全异常,即使它应该在完全信任下运行 的相关文章

  • Silverlight 4 PLINQ

    我有一个非常简单的问题 是否可以将 PLINQ 与 Silverlight 4 一起使用 因为它似乎不存在于最常引用的程序集中 它不受支持 但您可以在这里投票 http dotnet uservoice com forums 4325 si
  • Bug:VS2017 Live 单元测试 - 只有减号 - 不起作用

    TL 博士 编辑6 我缩小了范围并提供了重现问题 错误的 5 个步骤 创建 VS2017 c 控制台应用程序 Net 完整框架 将方法添加到 Program cs 并使该类公开 public class Program static voi
  • 有没有办法使用 .NET 中的 Kafka Ksql Push 查询

    我目前正在 NET 中使用 Kafka 消费者处理大量 Kafka 消息 我的处理过程的第一步是解析 JSON 并根据 JSON 中特定字段的值丢弃许多消息 我不想首先处理 特别是不下载 那些不需要的消息 看起来 kSql 查询 写为推送查
  • 接口的隐式和显式实现

    在进行升级时 我碰巧遇到了这样的代码 interface ICustomization IMMColumnsDefinition GetColumnsDefinition class Customization ICustomization
  • 使用AOP技术拦截ADO.Net

    我有相当大的代码库 使用各种不同的 ADO 技术 即一些 EF 在某些情况下直接使用 ADO Net 我想知道是否有任何方法可以全局拦截任何 ADO Net 调用 以便我可以开始审核信息 例如执行的确切 SQL 语句 花费的时间 返回的结果
  • 使用“new()”和“.StartNew()”创建新实例有什么区别?

    来自我对问题的 回答 任务中的秒表似乎在所有任务中都是累加的 只想测量任务间隔 https stackoverflow com a 16259019 200449 创建新的项目之间可能存在哪些差异跑表 http msdn microsoft
  • 如何将 webmethod 与 telerik 批量编辑网格一起使用

    Work on Asp net vs2012 C telerik RadGrid batch edit I put save button outside from the grid Under the save button want t
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • 更改实体的可访问性

    我想建立一个内部实体 我已将实体 其标量属性和导航属性更改为内部 当我尝试构建它时出现此错误 错误 6036 EntityType 文件 具有 内部 可访问性 EntitySet 文件 具有具有 公共 可访问性的 get 属性 Entity
  • 如何生成wcf服务库项目的wsdl文件?

    我的解决方案中有一些 Wcf 服务库项目 不是 Wcf 服务应用程序 我必须将项目的 wsdl 文件提供给将使用这些服务的同事 我怎样才能做到这一点 提前致谢 您可以使用WCF服务主机 http msdn microsoft com en
  • 使用生成的 Golang DLL 返回字符串或 *C.Char

    我一直在努力追随z505 goDLL https github com z505 goDLL回购并遇到了一个大问题 该方法无法返回字符串 我无法读取结果的输出变量 这是我到目前为止使用的代码 Go 完整代码https play golang
  • 从 .NET 文本中提取关键字

    我需要计算每个关键字在字符串中重复出现的次数 并按最高次数排序 NET 代码中用于此目的的最快算法是什么 编辑 下面的代码将唯一标记与计数分组 string target src Split new char var results tar
  • 将集合项复制到 .NET 中的另一个集合

    在 NET VB 中 如何获取一个集合中的所有项目 并将它们添加到第二个集合中 而不丢失第二个集合中预先存在的项目 我正在寻找比这更有效的东西 For Each item As Host In hostCollection1 hostCol
  • 如果我使用带有表单身份验证的 WCF,php 或 java 客户端将如何进行身份验证?

    我有一个通用的概念验证 WCF 服务 它使用表单身份验证来保护访问 当我的客户端是 NET 时 一切都很好 vb 代码如下 Dim client As SupplierServiceClient New SupplierServiceCli
  • 更改 NHibernate Session.Save 命令超时

    我们有几个长时间运行的后端进程 其运行时间超过默认的 30 秒 我们的NHibernate版本是2 0 1 4000 Spring NET是1 2 0 20313 NHibernate 通过 Spring NET 进行配置
  • .Net 6 控制台应用程序:WebApplication.CreateBuilder 与 Host.CreateDefaultBuilder

    我正在研究 NET 6 并希望构建一个简单的控制台应用程序 并进行一些依赖项注入 据我所知 为了使启动 现在只是程序 文件更具可读性 已经做了很多工作 让我有点困惑的是 所有改进似乎都是针对 API 项目中使用的 WebApplicatio
  • 无法转换类型为“NHibernate.Collection.Generic.PersistentGenericBag”的对象

    public List
  • WCF获取证书编码值

    我在 WCF 服务中使用证书 因此在 web Config 中有一个编码值
  • 如何在.NET Core上直接调用F#编译器?

    UPD 我想直接从 NET Core SDK 调用 F 编译器 即 fsc 我了解 dotnet build co 但当我只需要编译一个简单的问题时 即 fsc file fs 就足够的情况下 我不想涉及它们 我尝试在 NET Core S
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz

随机推荐

  • 替换 cypher 中的正则表达式

    我可以在 cypher 中搜索正则表达式 MATCH n model WHERE n name RETURN n name 但我也可以更换它们吗 我想写一些类似的东西 MATCH n model RETURN replace n name
  • 巨大负载响应时发生 Java 堆空间错误 |空手道1.0.1

    我们目前在测试框架中使用空手道 0 9 6 要求以某种方式将整个响应正文与存储为 json 的文件相匹配 这是一个基于财务的应用程序 我们需要验证整个响应正文 我正在尝试按照以下方式迁移到 1 0 1升级指南 升级到 1 0 1 后 我们对
  • 最好的 jQuery AJAX 多重上传器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 有什么建议么 可能是一些非
  • PHP 语言环境 de_DE 返回英语语言环境

    我在 Ubuntu 系统上使用 Apache 和 php 7 安装德语语言环境并运行后locale a要检查已安装的语言环境 我得到C C UTF 8 de DE de DE euro de DE iso88591 de DE iso885
  • 带有 Paramiko 和 RSA 密钥文件的嵌套 SSH

    我正在尝试使用 Paramiko 嵌套 SSH 我将从本地计算机连接到服务器 X 然后从那里连接到服务器 Y 在这里 为了连接到服务器 X 我使用用户名 密码身份验证 并使用用户名和密码连接到服务器 Y RSA 密钥 问题是 RSA 密钥托
  • Java:检测客户端与服务器端断开连接[重复]

    这个问题在这里已经有答案了 我正在使用 Socket 和 ServerSocket 编写 Java 客户端 服务器程序 多个客户端同时连接到服务器 检查客户端连接是否已与服务器端断开的最佳方法是什么 现在 当我尝试写入断开连接的客户端时 我
  • 为什么使用HttpClient进行同步连接

    我正在构建一个类库来与 API 交互 我需要调用 API 并处理 XML 响应 我可以看到使用的好处HttpClient对于异步连接 但我所做的是纯粹同步的 所以我看不到比使用有任何显着的好处HttpWebRequest 如果有人能提供任何
  • 如何设置非标准 gstreamer 属性的类型?

    我正在尝试设置pattern财产为videotestsrc 按照正常逻辑 我尝试将变量设置为i32和一根绳子 两者都会失败并出现要求特定类型的错误 查看 gstreamer API 我找不到设置该属性的方法 如何强制变量的类型与预期匹配 l
  • 为什么需要 Swing Utilities 以及如何使用它?

    这主要是针对我的问题here 但我不明白为什么摇摆实用程序是否需要以及它的用途 我正在设计一个 Swing GUI 我不想错过 Swing Utilities 可能提供的任何功能 也有人可以解释一下是什么invokeLater方法的作用及其
  • 如何判断图像何时已在 IE9 的浏览器缓存中?

    IE9显示错误complete具有以下属性 img src http farm2 static flickr com 1104 1434841504 edc671e65c jpg each function console log this
  • 将整数转换为工作日列表

    我在数据库中存储了一个整数 SQLAgent 频率间隔 该整数实际上是计划运行的一周中选定天数的总和 可能的值是这些值的任意组合 周日 1 星期一 2 星期二 4 星期三 8 星期四 16 星期五 32 星期六 64 ex 65 表示该计划
  • 计算字典中的值

    我有一本字典如下 dictA a duck duck goose b goose goose c duck duck duck d goose e duck duck 我希望循环遍历 dictA 并输出一个列表 该列表将向我显示 dictA
  • 从 SceneDelegate 更新屏幕结构的状态

    我来自 React Native 是 Swift 和 SwiftUI 的初学者 我很好奇当应用程序返回前台时如何在特定屏幕上执行操作并更新状态 我想检查通知的状态 允许 拒绝 等 并更新用户界面 这是一些示例代码 这是我要更新的视图 str
  • 在编译时展开循环

    我想将大量行写入以下形式的 C 文件中foo i for i 0 1 n 有没有办法在编译时执行此操作 我想这样做是因为我有一个模板类 template
  • 使用 AWS 弹性负载均衡器和 Nginx 将非 www 转换为 www

    我有一个在 example com 上运行的应用程序 现在我想将所有流量重定向到 www example com 因为我们正在与 Akamai 的 CDN 合作开发您的网站 我的域名停放在 Route53 中 添加了 Elastic Loa
  • 设置 ZF2 中的 (404) 错误页面使用的布局变量

    目前 我使用 BaseController 的 onDispatch 方法 我的所有其他控制器都扩展了该方法 设置了应用程序的整体布局 phtml 使用的几个变量 public function onDispatch MvcEvent e
  • Android NDK 中的文件操作

    出于性能原因 我使用 Android NDK 主要用 C 语言制作应用程序 但似乎 fopen 等文件操作在 Android 中无法正常工作 每当我尝试使用这些功能时 应用程序就会崩溃 如何使用 Android NDK 创建 写入文件 其他
  • 如何将 pandas 中的制表符分隔更改为逗号分隔

    我不知道这是否可能 我正在尝试将 12 个文件附加到一个文件中 其中一个文件以制表符分隔 其余文件以逗号分隔 我将所有 12 个文件加载到 dataframe 中 并循环将其一一附加到一个空 dataframe 中 list of file
  • 如何在R中对两个变量进行交叉制表?

    这似乎是基本的 但我不会明白 我正在尝试计算 R 中数据的频率表 如下所示 1 2 2 1 3 1 我想传输 csv 输出中的双向频率 其行将是数据 A 列中的所有唯一条目 其列将是数据 B 列中的所有唯一条目 单元格值将是这些值出现的次数
  • 托管在 Windows 服务中的 WCF 出现安全异常,即使它应该在完全信任下运行

    我们在 Windows 服务中托管 WCF 服务 NET 4 0 它在大多数机器上运行得很好 但在某些机器上它会抛出以下异常 错误 为 system serviceModel bindings 创建配置节处理程序时发生错误 该程序集不允许部