gpt4 book ai didi

wcf - 似乎无法修复 "The protocol ' net.msmq' 没有注册 HostedTransportConfiguration 类型的实现。”

转载 作者:行者123 更新时间:2023-12-04 19:46:16 26 4
gpt4 key购买 nike

我在 Windows 7/IIS 7.5 上运行,并设置了一个使用 net.msmq 的 Web 服务,但是当我尝试使用 HTTP 访问该服务时,出现以下错误:

协议(protocol)“net.msmq”没有注册 HostedTransportConfiguration 类型的实现。

[InvalidOperationException: The protocol 'net.msmq' does not have an implementation of HostedTransportConfiguration type registered.]
System.ServiceModel.AsyncResult.End(IAsyncResult result) +15778592
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +15698937
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, Boolean flowContext) +265
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +599
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171

我在它所在的网站上设置了 http 和 net.msmq 绑定(bind),并在网站和应用程序上启用了这两种协议(protocol)(“http,net.msmq”)。

我看过文章Debugging a Missing HostedTransportConfiguration Type并在那里运行了所有命令,但似乎没有任何帮助;运行 sc query netmsmqactivator 显示:

SERVICE_NAME: netmsmqactivator
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 4 RUNNING
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

应用程序现在运行的应用程序池以 .NET Framework v2.0 为目标,但如果我将应用程序池更改为以 .NET Framework v4.0 为目标(并对服务的 web.config 进行适当更改以删除重复的 configSection 定义),我能够很好地看到 WSDL。

据我所知,Web 服务并不是要针对 .NET Framework v4.0 运行;它实际上正在为我的一位同事(也运行 Windows 7)工作,但由于多种原因,此时比较设置是不可行的。

另一个注释,可能相关也可能不相关:尝试通过 HTTP 访问服务并出现上述错误后,刷新服务结果:

已添加具有相同 key 的项目。

[ArgumentException: An item with the same key has already been added.]
System.ServiceModel.AsyncResult.End(IAsyncResult result) +15778592
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +15698937
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, Boolean flowContext) +265
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +599
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171

这需要应用程序池回收来清除。

我没有使用 net.msmq 的经验,所以我不知道我可能遗漏了哪些相关信息;请让我知道我错过了什么。

最佳答案

弄清楚了:不确定是什么问题,但事实证明卸载然后重新安装 WCF 非 HTTP 激活修复了它。

关于wcf - 似乎无法修复 "The protocol ' net.msmq' 没有注册 HostedTransportConfiguration 类型的实现。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5541292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com