【问题标题】:WCF - weird errorWCF - 奇怪的错误
【发布时间】:2011-08-02 05:22:56
【问题描述】:

我的 dll 使用 wsHttpBinding 托管在 IIS 上。我有这个奇怪的错误发生在中间。

好吧,当我重置 IIS (iisreset) 时,一切都会恢复正常。

我也读过这个http://msdn.microsoft.com/en-us/library/ee517280.aspx。但我不确定这与此有关。如果您对此有更多信息,请指导我。谢谢。

“/MSBuildCompilation”应用程序中的服务器错误。

要么未提供所需的模拟级别,要么 提供的模拟级别无效。 (HRESULT 的例外情况: 0x80070542) 说明:在执行过程中发生未处理的异常 执行当前的 Web 请求。请查看堆栈跟踪 有关错误及其起源的更多信息 代码。

异常详细信息:System.Runtime.InteropServices.COMException:要么 未提供所需的模拟级别,或提供的 模拟级别无效。 (HRESULT 异常:0x80070542)

来源错误:

在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。

堆栈跟踪:

[COMException (0x80070542): 所需的模拟级别是 未提供,或提供的模拟级别无效。 (HRESULT 异常:0x80070542)]

[FileLoadException: 无法加载文件或程序集 'System.ServiceModel,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089' 或其依赖项之一。要么 未提供所需的模拟级别,或提供的 模拟级别无效。 (来自 HRESULT 的异常:0x80070542)] System.ServiceModel.Activation.HttpModule.ProcessRequest(对象 发件人,EventArgs e) +0
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤, 布尔和完成同步)+75

【问题讨论】:

  • 谢谢!你刚刚拯救了我的一天!我在使用 NTLM 安全性的 Sharepoint 2010 中托管的自定义 WCF 服务遇到问题,但我从 SQL 服务器收到错误消息,提示“未提供所需的模拟级别,或者提供的模拟级别无效。”。我真的无法弄清楚这是否是我的服务器或我的代码的配置问题。但是当我看到您的解决方案时,我立即知道这也是我问题的解决方案。确实如此。再次感谢! :-)

标签: wcf iis-6 wshttpbinding


【解决方案1】:

看起来您正在尝试在 IIS6 中运行 .NET 4.0 框架,这很棘手according to this post. 我自己没有尝试过。您遇到的异常实际上正在发生,因为您的进程尝试加载 System.ServiceModel 4.0 版 DLL 失败。虽然那篇文章是针对 ASP.NET 的,但它也适用于 WCF,因为 ASP.NET 是 IIS6 中的服务宿主进程。这是另一个question along the same lines,有一些很好的答案。

【讨论】:

  • 已经启用。我怀疑客户冒充可能是根本原因。我刚刚添加了这 2 行:“WindowsClientCredential wsCred = wsFactory.Credentials.Windows; wsCred.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;”。到目前为止,在我添加了这 2 行之后,它直到现在才提示错误消息。
【解决方案2】:

(由原发帖人回答但发错地方,被我感动了。)

大家好,我终于通过在我的客户端应用程序代码中添加以下两行来解决我自己的问题:

    WindowsClientCredential wsCred = wsFactory.Credentials.Windows;
    wsCred.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;

这 2 行强制客户端每次连接时都进行模拟。

【讨论】:

    猜你喜欢
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 2012-07-13
    • 2014-10-11
    • 2012-04-27
    相关资源
    最近更新 更多