WCF Net.TCP 服务抛出模糊错误

2023-12-21

我正在尝试为现有 WCF 服务启用额外的 net.tcp 端点(使用用户名身份验证)。该服务托管在 IIS7 中。

针对服务执行客户端会返回套接字连接已中止的错误。启用对服务的跟踪后会发现抛出以下异常:

System.ArgumentOutOfRangeException
该参数的值必须为正。
参数名称:maxAccepts
实际值为 0。

我很困惑,因为据我所知,端口共享应该通过配置禁用(见下文),但它仍然通过端口共享代码进行调用(再次,据我所知)。无论如何,我找不到任何方法来指定这个 maxAccepts 值;谷歌对此一无所知,并且 maxPendingAccepts 值似乎也没有做到这一点。我该如何解决该错误?

该服务的配置文件包含 net.tcp 端点的以下内容:

<bindings>
  <customBinding>
    <binding name="netTcp">
      <security authenticationMode="UserNameOverTransport" />
      <windowsStreamSecurity />
      <tcpTransport portSharingEnabled="false" listenBacklog="10" maxPendingAccepts="10" maxPendingConnections="10" />
    </binding>
  </customBinding>
</bindings>
<behaviors>
  <serviceBehaviors>
    <behavior name="netTcp">
      <serviceDebug includeExceptionDetailInFaults="false" />
      <serviceMetadata/>
      <serviceCredentials>
        <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Asi.Soa.ServiceModelEx.NullUserNamePasswordValidator, Asi.Soa.ServiceModelEx" />
        <clientCertificate>
          <authentication certificateValidationMode="None"/>
        </clientCertificate>
      </serviceCredentials>
      <serviceAuthorization principalPermissionMode="Custom">
        <authorizationPolicies>
          <add policyType="Asi.Soa.ServiceModelEx.ClaimsAuthorizationPolicy, Asi.Soa.ServiceModelEx" />
        </authorizationPolicies>
      </serviceAuthorization>
    </behavior>
  </serviceBehaviors>
</behaviors>

完整的异常堆栈跟踪是:

System.ServiceModel.Channels.ConnectionAcceptor..ctor(IConnectionListener listener, Int32 maxAccepts, Int32 maxPendingConnections, ConnectionAvailableCallback callback, ErrorCallback errorCallback)
System.ServiceModel.Channels.ConnectionDemuxer..ctor(IConnectionListener listener, Int32 maxAccepts, Int32 maxPendingConnections, TimeSpan channelInitializationTimeout, TimeSpan idleTimeout, Int32 maxPooledConnections, TransportSettingsCallback transportSettingsCallback, SingletonPreambleDemuxCallback singletonPreambleCallback, ServerSessionPreambleDemuxCallback serverSessionPreambleCallback, ErrorCallback errorCallback)
System.ServiceModel.Channels.SharedTcpTransportManager.CreateConnectionDemuxer()
System.ServiceModel.Channels.SharedTcpTransportManager.OnDuplicatedVia(Uri via, Int32&amp; connectionBufferSize)
System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.HandleOnVia(DuplicateContext duplicateContext)
System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.System.ServiceModel.Activation.IConnectionDuplicator.BeginDuplicate(DuplicateContext duplicateContext, AsyncCallback callback, Object state)
AsyncInvokeBeginBeginDuplicate(Object , Object[] , AsyncCallback , Object )
System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeBegin(Object instance, Object[] inputs, AsyncCallback callback, Object state)
System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&amp; rpc)
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&amp; rpc)
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&amp; rpc)
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&amp; rpc)
System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.Dispatch(MessageRpc&amp; rpc, Boolean isOperationContextSet)
System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)
System.ServiceModel.Channels.FramingDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)
System.ServiceModel.Diagnostics.Utility.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
System.ServiceModel.AsyncResult.Complete(Boolean completedSynchronously)
System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
System.ServiceModel.Channels.TracingConnection.TracingConnectionState.ExecuteCallback()
System.ServiceModel.Channels.TracingConnection.WaitCallback(Object state)
System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean haveResult, Int32 error, Int32 numBytes)
System.ServiceModel.Channels.OverlappedContext.CompleteCallback(UInt32 error, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
System.ServiceModel.Diagnostics.Utility.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

编辑:我已经安装了非 HTTP WCF 激活组件,运行 ServiceModelReg.exe,将 net.tcp 和 net.pipe 添加到 IIS 管理器中启用的协议列表中,等等。没有乐趣。

我还编写了一个快速的 Windows 服务来托管该服务(对我们来说不是理想的长期解决方案),并且 Net TCP 连接在那里工作正常,因此它在我的配置或代码中似乎没有任何内容,这意味着 IIS 中有问题。应用程序的应用程序池是否必须在集成模式下运行?我尝试了两种方式,似乎没有什么区别,但我们的应用程序当前安装在经典模式下。


据我所知,问题很简单,当一个是 Soap11 端点,一个是 NetTcp 端点时,.NET 不喜欢在同一个 IIS 应用程序中托管两个服务。删除 Soap11 端点可使 NetTcp 端点正常工作而不会出现错误。

我们已转向使用 Windows 服务托管 NetTcp 端点并将 Soap11 端点保留在 IIS 中的模型。

如果有人知道如何在 IIS 的同一应用程序中托管 NetTcp 和 Soap11 服务,我很想听听。

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

WCF Net.TCP 服务抛出模糊错误 的相关文章

  • WCF 和数据契约上的接口

    使用 svcutil 创建 WCF 代理时 是否还可以包含数据协定继承的接口 例如 public class SomeType ISometype public string Name get set public interface IS
  • 在 WCF 上重用我的 PagedList 对象

    问题 我有一个自定义集合PagedList
  • 如何防止在 CXF Web 服务客户端中生成 JAXBElement

    我正在尝试使用 CXF 创建一个 Web 服务客户端来使用 WCF Web 服务 当我使用 wsdl2java 时 它生成具有 JAXBElement 类型而不是 String 的对象 我读到有关使用 jaxb bindings xml 文
  • 无法从 Windows 7 上的 Windows 服务启动桌面应用程序

    HI 我在 Windows 7 上有 C WCF Windows 服务 以具有管理员权限的用户身份登录 我正在尝试在服务启动后启动桌面应用程序 我发现的所有讨论都是关于 Windows 工作站和桌面 我创建了一个单独的线程 设置线程工作站和
  • WPF 和 WCF 应用程序的用户身份验证/授权的“最佳实践”是什么?

    假设我有一个 NET 富客户端 WPF 应用程序 它将同时部署在 3 个不同的场景中 客户端和服务器代码在单个进程中运行 客户端代码在 Intranet 计算机上运行 并通过 WCF 与运行应用程序 域 基础设施代码的服务器计算机进行通信
  • jquery ajax“发布”调用

    我是 jQuery 和 Ajax 的新手 并且在 发布 方面遇到问题 我正在使用 jQuery Ajax post 调用将数据保存到数据库 当我尝试保存数据时 它将 null 传递给我的 C 方法 jQuery 看起来像这样 functio
  • WCF WebHttp 混合身份验证(基本和匿名)

    所有这些都与 WebHttp 绑定有关 托管在自定义服务主机中 IIS 目前不是一个选项 我已经实现了自定义 UserNamePasswordValidator 和自定义 IAuthorizationPolicy 当我将端点的绑定配置为使用
  • 如何为本机启用现有 WCF 服务的 JSONP?

    我有一个现有的服务 如下方法 AspNetCompatibilityRequirements RequirementsMode AspNetCompatibilityRequirementsMode Allowed ServiceBehav
  • 模拟 WCF 客户端代理的最佳方法

    有没有办法使用 Rhino 模拟框架来模拟 WCF 客户端代理 以便我可以访问 Channel 属性 我正在尝试对 Proxy Close 方法进行单元测试 但由于代理是使用抽象基类构造的ClientBase
  • WCF服务通过IIS与第三方dll连接

    我正在使用 Windows 7 VS2010 SqlServer 2008 我的应用程序从第三方 dll 获取数据 它从必须在后台运行的另一个进程获取数据 并处理数据 然后通过 WCF 服务将其发送到前端 应用程序已完成并执行其应该执行的操
  • 使用 XML 的 WCF 请求验证

    我有一个WCF使用 Net 4 0框架的SOAP Web服务 我在用contract first方法 即 服务代码是使用 WCSF Blue 工具从手写 WSDL 生成的 我对请求消息有以下要求 如果价格小于 100 则不得有税项 但如果大
  • 如何为WCF服务创建重定向?

    我的网站 A 上托管了一个 WCF 服务 我还有另一个网站 B 它使用 IIS URL 重写将所有请求重定向到我的网站 A 但是 站点 B 不处理任何对 svc 文件的请求 返回 404 not find 知道如何让它发挥作用吗 UPD重定
  • 如何为 WCF IErrorhandler 设置 web.config

    无法使用正确的 web config 将 IErrorHandler 集成到我的项目中 我有一个成功工作的 WCF 正在被 net 4 中的 webclient 使用 但是当尝试将 IErrorhandler 设置为全局错误记录器作为我所有
  • 为 Rest Web 服务创建 WCF 代理

    我有一个复杂的 WCF Rest 服务 它需要多个输入和对象 我不能简单地通过在 Fiddler 中执行 HTTP POST 来调用它 因为要提供的数据太多 我可以 但这将花费我很长时间 所以我想使用代理在代码中完成它 有没有办法为 NET
  • 多个 WCF 服务实现相同的服务契约接口

    多个wcf服务是否可以实现同一个服务契约接口 我想要做的是允许测试服务与真实服务互换 并指定在配置文件中使用哪个服务 例如 ServiceContract public interface IUselessService Operation
  • 使用 CustomBinding 的 WCF 服务配置 HTTPS

    我需要 WCF 服务上的自定义绑定 以允许我将原始内容传递到 WCFRest 服务 效果很好 但我无法让它接受传输级安全性 我想要 https 和 basicauthentication 就像我在其他地方使用的那样 端点看起来像这样
  • WCF 数据服务错误处理

    我创建了一个带有服务操作的WCF数据服务 我想生成一种业务异常 我尝试生成WebFaultException但我不知道当服务操作抛出此错误时如何在客户端捕获此错误 这是我模拟异常的服务操作 WebGet public void Genera
  • WCF 回调通道被过早处置?

    我的应用程序正在使用带有回调通道的 net tcp WCF 服务 由于某种原因 我无法发送事件回调 这就是我正在做的事情 所有代码都在服务器端 初始化时 OperationContext Context get protected set
  • 如何在 IIS 中将 WCF 与 basichttpbinding only、SSL 和基本身份验证结合使用?

    是否可以仅使用 IIS 中的 SSL 和基本身份验证来设置 WCF 服务BasicHttpBinding binding 我无法使用wsHttpBinding binding 该站点托管在 IIS 7 上 并设置了以下身份验证 匿名访问 O
  • WCF - 将空元素转换为可为空的本机类型

    将 SOAP 字段元素留空会导致本机类型出现强制转换错误 遗憾的是 由于客户端限制 无法使用 xsi nil true 将 WCF 协定本机类型标记为 nullable 似乎不足以阻止将以下错误返回给客户端 字符串 不是有效的布尔值 在 S

随机推荐

  • 验证和更改用户密码

    我有一个简单的 C Windows 窗体 它充当登录名 但也有一个用于更改用户密码的窗体 当您单击 更改密码 时 表单会加载一个文本框 其中包含当前密码 新密码和确认新密码以及一个保存按钮 我已将用户名存储在标签中 以便可以检查当前密码是否
  • 我什么时候应该使用 subprocess.Popen 而不是 os.popen?

    似乎都执行一个子进程并创建一个管道来执行输入 输出 只是subprocess较新 我的问题是 有没有什么功能可以subprocess Popen可以做一会儿os popen不能 所以我们需要新模块subprocess 为什么Python语言
  • Google 服务器在隐私浏览模式下的第一个请求出现服务器错误

    每当我运行该网址时https scholar google com citations user N7m4vIQAAAAJ hl en在 Safari 和 Google Chrome 的私有窗口中 Google 会给出错误 它仅在隐私浏览模
  • 如何在没有nodejs和电子的情况下在网页上实现monaco-editor

    我正在尝试制作一个简单的网页编辑器 我发现了这个叫做 Monaco editor 的东西 我看到有人将它与 Electron 一起使用 但我只想在纯 JavaScript 中使用它 就像在他们的网页上一样 link https micros
  • 什么是 props.children? [复制]

    这个问题在这里已经有答案了 我正在遵循本教程 讲师做了类似的事情来解释高阶组件 const aux props gt props children export default aux 进而imported这到其他文件并替换div标记为 例
  • Android:在两个活动之间传递图像及其 URI 时出现问题

    我们可以使用捆绑包将图像和图像 URI 传递给同一应用程序中的其他活动吗 请建议我一些方法来做到这一点 USAGE 实际上 我做了一项活动 根据用户的不同 裁剪从相机拍摄的图像或从存储在 SD 卡中的图像 另一个使用背景图像和边框图像的应用
  • 如何使用动态分配的任意维数组?

    典型的一维数组可以在声明中静态或自动分配 enum n 100 int arr1 n 或者通过指针动态分配和访问 int arr1m malloc n sizeof arr1m int arr1c calloc n sizeof arr1c
  • 使用 ActionScript 3 的触摸事件与鼠标单击事件

    只是想问一下 在为手机或平板电脑 尤其是 iPhone 编写应用程序时 使用鼠标单击事件或触摸点击事件是否有任何优势 我知道他们都应该工作得很好 但是就性能而言 谁更好 选择时有什么需要注意的吗 顺便说一句 我使用 actionscript
  • 如何在 ASP.NET MVC 中更改操作参数并使其在不更改路由的情况下工作?

    在我的路线中 我有这样的事情 controller action id 据我所知 这意味着它将调用带有参数 id 的任何操作 如下所示 public ActionResult Detail string id 我需要做什么才能完成以下工作而
  • 错误 ITMS-9000:“无效架构:包含应用程序扩展和框架的应用程序必须支持 arm64

    我想在 Itunes Connect 上上传带有自定义键盘扩展的版本 但是当我要通过应用程序加载器将其上传到 Itunes Connect 时 它会显示以下错误 ERROR ITMS 9000 Invalid architecture Ap
  • 如何在 SQL 的嵌套子查询中查找不同的列?

    我需要找到订购 伏特加 和 威士忌 的不同饮酒者 我只被允许使用嵌套查询 不接受其他格式 我对 sql 很陌生 所以任何帮助将不胜感激 以下是我尝试从中检索数据的表 CREATE TABLE DRINKERS All drinkers DR
  • restangular:可以有进度条吗?

    我有这个基于 reangular 的代码 在服务中 它有效 sendFile function params console log sendFile console log params return this restfulBase p
  • Coq Proof Assistant 中依赖类型的问题

    考虑以下简单的表达语言 Inductive Exp Set EConst nat gt Exp EVar nat gt Exp EFun nat gt list Exp gt Exp 及其格式良好的谓词 Definition Env lis
  • 设置 gdb 和 eclipse 从 Android 应用程序调试共享库后,无法访问地址 0X1 处的内存

    我有两个 Android 项目 一个是一个库 另一个是使用该库的常规应用程序 我的目标是从 Android 应用程序调试共享库 我遵循了这个指南 http mhandroid wordpress com 2011 01 23 using e
  • smtplib 在 Python 3.1 中使用 unicode 字符发送邮件的问题

    您好 我遇到了 unicode 电子邮件的问题 当我尝试用西班牙语发送 A adir 等单词时 系统崩溃了 我尝试了此链接上的说明 Python 3 smtplib 使用unicode字符发送 https stackoverflow com
  • 无法使用 JAXB 生成类

    我尝试使用 JAXB 生成类 但出现异常 IllegalArgumentException 非法模式字符 g 我使用一个复杂的 XSD 文件和一个绑定文件 如下所示 有人可以提供调查地点的线索吗
  • Python 获取<标题>

    我想获取使用 urllib2 打开的网页的标题 执行此操作的最佳方法是什么 解析 html 并找到我需要的内容 目前只有 标记 但将来可能需要更多 有没有一个好的解析库用于此目的 是的 我会推荐美丽汤 http www crummy com
  • KissFFT(kiss_fftr 到 Kiss_fftri) - 如何重建原始信号?

    我在理解如何正确使用 KissFFT 1 2 9 时遇到一些困难 我现在想要实现的目标是执行 FFT 然后立即执行 iFFT 以再次重建原始信号 下面的代码片段演示了我正在做的事情 void test short timeDomainDat
  • 如何从 bash 脚本中删除注释

    我正在尝试制作一个将脚本文件作为参数的脚本 它应该从文件中删除注释并将其通过管道传输到另一个脚本 如果可能的话 没有临时文件 一开始我想做这个 cut d f1 1 script name 但它也会清除一部分不是注释的行 因为有一些命令在其
  • WCF Net.TCP 服务抛出模糊错误

    我正在尝试为现有 WCF 服务启用额外的 net tcp 端点 使用用户名身份验证 该服务托管在 IIS7 中 针对服务执行客户端会返回套接字连接已中止的错误 启用对服务的跟踪后会发现抛出以下异常 System ArgumentOutOfR