问题标签 [wsdualhttpbinding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
435 浏览

c# - 在 MVC 中实现 WCF 回调

我在 MVC 中成功实现了 WCF 服务(使用 wsDualHttpBinding)。

从 WCF 正确调用“SendResult”函数并在“Events_For_Export_Result”数组中接收结果。现在我应该将 MVC 重定向到控制器/视图以显示消息,但我无法在回调函数中调用操作。

正如你在下面看到的,我试图让我的回调类继承自“Controller”并调用一个执行“RedirectToAction”的函数,但它不起作用。

我做错了什么?有没有办法在 void 方法中调用操作?

我认为这与 wsDualHttpBinding 的性质有关。事实上,我无法更改函数的返回类型,因为我必须指定 [OperationContract(IsOneWay = true)] 属性。这样,回调函数一定是无效的。

这是回调接口:

0 投票
0 回答
311 浏览

wcf - 是否可以在 WCF 中的 WsDuallHttpBinding 上应用 https?

我发现 WCF WsDualHttpBinding 接受 http,但是 https 是不可接受的。如果使用 https,我会收到以下错误:

我的环境是Win7 pro、.net 4.0、VS2013 pro。

这里附上我的设置:

当我将 serviceCertificate 信息放在 customBehavior 元素中时,上述服务正在运行,但是它仍然使用 http 作为传输通道,尽管消息是由证书加密的。

在这种情况下可以使用 https 吗?提前致谢。

亲切的问候

0 投票
0 回答
345 浏览

wcf - wsDualHttpBinding 上的客户端身份验证方案“匿名”禁止 HTTP 请求

我有一个客户端-服务器应用程序。我的服务器站点在 IIS 上。
我的客户端 App.config 是:

当我按下应用程序上的按钮时 - 我收到以下错误:

http 请求未经授权,客户端身份验证方案为“匿名”。

似乎为了解决这个问题,我必须使用以下代码:

但是,由于 wsDualHttpBinding 不支持传输安全性,我该怎么办?
也许对 IIS 本身有任何声明?

0 投票
1 回答
62 浏览

c# - 在跟踪级别记录 System.Net 时分配的超时

我的程序有问题。我创建了一个使用 NLOG 记录其操作的服务。在此服务旁边,我创建了一个工具来捕获此日志记录并将其显示给用户。此连接基于 WSDualHTTPBinding。

除了服务的操作之外,我还记录了 [System.Net]、[System.ServiceModel] 和 [System.Windows] 以获取完整的日志报告。

现在我收到 TimeOutException:无法在分配的 00:01:00 超时内传输消息。可靠通道的传输窗口中没有可用的空间。ETC...

我发现当 System.Net.* 的 LogLevel 设置为 Trace 时会引发此异常。否则不会抛出异常。

我尝试了多种解决方案,例如增加超时;设置 DefaultConnectionLimit;设置 ServiceBehaviorAttribute 等等。他们都没有为我工作......

有人可以帮我解决这个问题吗?


控制台应用服务:

接口服务:

实施服务:

实现监听器:

控制台窗口监听器:

控制台窗口客户端:

0 投票
1 回答
258 浏览

c# - WCF wsDualHttpBinding 停止发送回调

我正在开发与地磅连接的 WCF 服务。当权重发生变化时,我们希望向所有连接的客户端发送消息。一台地磅只能连接一个客户端,因此我开发了 WCF,它通过 wsDualHttpBinding 和回调与客户端通信。

此解决方案有效,但经过很长时间(1-2 天)WCF 服务停止发送回调。我知道我的服务有效,因为我有记录器 - 但我的客户没有收到回调。我的服务也不会抛出异常。

这是我的服务伪代码

和配置

你能帮我做错什么吗?我找不到解决方案。

0 投票
1 回答
1522 浏览

wcf - WCF 客户端无法通过 ServiceHost 连接到托管在 IIS 中的 WCF 服务?

我有这个方案:

IIS

  • 主机: OperatorService.svc (连接到ClientService
  • Global.asax(启动时):通过 ServiceHost托管ClientService

WPF 客户端

  • 连接到客户端服务


如果我去OperatorService服务被激活,Web 应用程序启动,并且ClientService成功托管在http://localhost:8020/ClientService. 到目前为止,一切都很好。

我现在可以在浏览器中访问上述 URL 中的ClientService ,我可以通过Add Service Reference添加它。它就在那里——运行。

但是当我尝试通过生成的客户端连接(看起来不错)时,它突然不起作用。投掷:

There was no endpoint listening at http://localhost:8020/ClientService that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

此外,OperatorService连接到这个ClientService本身(它是一个 WsDualHttpBinding 来提供通知)。它正确地订阅了这个服务(调用一个方法)并且它可以工作(与我的 WPF 客户端相同的 URL)。

为什么我无法从我的 WPF 客户端连接?

WPF 客户端配置(仅相关部分):

IIS 托管 web.config(用于ClientService

IIS 托管 web.config(用于 OperatorService -> ClientService)

0 投票
2 回答
187 浏览

wcf - Wcf wsDualHttpBinding 达到最大消息长度 16384

我无法在我的 WCF 服务上使用 wsDualHttpBinding 端点。我在客户端面临这个问题。

我得到一个异常,建议从 16384 增加 MaxArrayLength 以允许读取整个 xml 数据。

我尝试了以下配置:

但是上面的配置似乎被忽略了。

我像这样实例化我的客户:

我在某处读到这些代码行覆盖了 app.config 中的配置;如果那不是问题,我该如何增加配额?

任何帮助表示赞赏。

0 投票
0 回答
235 浏览

wcf - 从 WSDualHttpBinding 更改为 NetTcpBinding 似乎不起作用

我有一个客户端-服务器应用程序。我一直在使用 WsDualHttpBinding 进行回调,一切都很好。WCF 服务使用 x509Certificates。该应用程序将托管在组织的 Intranet 中。我选择在专用端口上配置 NetTcpBinding。WCF 服务在 NetworkService 上运行,并在登录 NetworkService 时访问 MSSQL Server DB。Wcf 服务托管在 IIS 中的网站上。

客户端的 app.config 如下所示

web.config 看起来像这样

IIS端是这样的

在此处输入图像描述 我查看了相关的配置帖子,但似乎都没有。

在这种情况下,会出现以下问题:

  1. 我究竟做错了什么?
  2. 应用程序池应该使用哪个用户访问数据库?
0 投票
1 回答
207 浏览

sql - 调用方法时 WCF 服务挂起,但方法正在运行

您好,我的 wcf 服务有问题。我正在尝试调用返回类型对象列表的方法。我也在使用实体框架。

和合同:

该方法本身正在工作,但是当我尝试在我的 wcf 服务 UI 上调用此方法时,它卡在“调用服务”上,我正在使用 wsdualhttpbinding。

请问有什么想法吗?

编辑:我在 Product 对象中意识到我有虚拟列表,为什么这个列表会导致 wcf 挂起?

0 投票
1 回答
84 浏览

wcf - WCF 超时 - WSDualHttpBinding,如何设置 OperationTimeout

我正在创建一个 WSDualHttpBinding(来自代码),设置以下超时值:

这些常数(出于恼怒目的)值为 600 秒。

一个客户端连接正常,其他客户端记录以下错误:

“打开操作未在分配的 00:01:00 超时内完成”

这是在以下代码行:

最后记录的行是“创建客户端”。看来是 CreateChannel 导致了问题。

但我已将值设置为 > 1 分钟。无论我设置什么值,超时总是报告为 00:01:00!

我不明白。

我已经阅读并阅读了有关此内容和 OperationTimeout 属性的信息。但无论如何我都找不到在 WSDualHttpBinding 上设置它的方法。

任何人都可以请帮忙。

谢谢