问题标签 [wcf-client]

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 投票
2 回答
2631 浏览

c# - 尽管只调用 oneway 方法,WCF 服务实例不会关闭

我有一个 WCF 服务在远程机器上的 Windows 服务中运行。在 WCF 服务的合同中,我有一个需要很长时间才能运行的方法设置为

一切正常,方法被调用,我可以看到它需要做什么开始完成。

问题是当我在我的代码中关闭 WCF 服务的实例时,它超时并且我得到:

套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题造成的。本地套接字超时为“00:02:00”。

我认为单向合同允许我解雇并继续前进。有什么我想念的吗?如果没有,是否有解决方法?

0 投票
2 回答
455 浏览

.net - IDispatchOperationSelector 问题

我使用自定义操作选择器构建了一个服务,选择器只是查看消息正文中的特定元素(并忽略操作)以指定在合同上调用哪个方法。

这工作正常,我可以看到现在正在调用服务器代码,但是客户端抛出一个异常,说请求的动作不符合响应的动作。

什么扩展点可以帮助我调整响应动作标头,或者我可以在客户端做一些事情让它接受改变的动作......

非常感谢

0 投票
1 回答
2209 浏览

wcf - 在 IClientChannel 代理上调用 Abort() 会引发异常吗?

根据文档和文章,如果遇到意外异常/故障,建议在客户端代理上调用 Abort()。请参阅以下内容(简化):

是否有可能调用 Abort() 本身引发异常?对 Abort() 的调用是否应该在它自己的 try/catch 中?

0 投票
1 回答
1107 浏览

wcf - 为什么我的客户发送请求这么慢?

我有 WCF 客户端向服务发送请求。我的业务代码调用客户端 API 每秒发送 300 多个请求。但是根据我的服务和 WCF ServicePoint 的性能计数器,我的客户只发送了大约 50 个服务。

我在代码中将 ServicePointManager.DefaultConnectionLimit 增加到 1000,并在服务配置文件中将 maxConCurrentCalls 设置为 1000,但几乎没有改进。

我想 WCF 客户端中可能有队列等待发送请求。有什么方法可以配置它并加速我的客户端。

这是我对客户端的配置:

0 投票
1 回答
1348 浏览

wcf - WCF 通过所有服务调用传递额外的安全数据

客户端我需要将一条信息(对于这个例子让我们说一个字符串)传递给我所做的每个服务调用。服务使用此字符串 (currentRole) 以及用户/通行证凭据来检索与其当前角色相关联的用户声明集。

到目前为止,我遇到的解决方案是:

1)修改从客户端发出的消息头,并验证消息头在服务端。

2)使用自定义凭据,据我了解,该凭据还需要自定义安全令牌来存储字符串。

我还缺少其他方法吗,例如将该信息添加到现有令牌/凭证中?上面提到的解决方案有什么优点/缺点吗?

谢谢。

0 投票
3 回答
2106 浏览

.net - 肥皂错误消息中的多个名称空间导致 FaultException 反序列化失败

我们正在连接到一个 Web 服务,我们得到的错误消息没有反序列化(根本没有),而且我可以制作的任何版本的类都不会正确反序列化。我们无法控制服务器端的事情。服务器不允许发现,因此将 ?WSDL 添加到端点 URL 的末尾会导致错误,而不是 WSDL。

[Fiddler][1] 显示返回的故障消息如下所示:

然而,当我们尝试捕获它时,我们创建的任何类(尝试 xsd.exe、svcutil 和其他包括我们从头编写的代码)都无法反序列化它:

只有基本的 FaultException catch 会被调用,这意味着我们丢失了正在发送的 FaultMessage 的内容。我编写的一些类将序列化非常接近上面的示例,但无法反序列化它,所以我们怀疑存在命名空间问题。

问题:

1 - 你会怎么写这个?

2 - 这是 WCF 的常见错误/问题吗?

[1]: http://www.fiddler2.com/fiddler2/提琴手

0 投票
2 回答
128 浏览

deployment - 部署WEB服务消费者模块

我们最近向我们的网站添加了一些功能,需要在外部域中添加对 api 的服务引用。添加对 VS2008 项目的引用会在“Service References”文件夹中创建一个子文件夹,并向该文件夹添加 18 个文件,这些文件似乎代表 api 中的类。api 提供者还让我在 web.config 文件中添加自定义绑定和对 system.serviceModel 的客户端引用。

我是否必须将包含 18 个文件的整个文件夹部署到我的生产站点才能使用 Web 服务?其中一些是否被编译到我的项目 dll 中?我可以找到部署服务的各种参考,但不是部署服务消费模块所必需的。

0 投票
1 回答
4316 浏览

wcf - 使用 netTCP 绑定托管在 IIS 中的 WCF 服务

我在 IIS7 中托管了一个启用了 netTCP 的 WCF 服务。

这是我在 %apppath%\ 中的 web.config,SVC 文件所在的位置。

出于某种原因,我没有按照我的说明在端口 8050 上加载,而是看到蓝色和米色的站点显示该站点:

http://localhost/SearcherService/searcherservice.svc 而不是 http://localhost:8050/SearcherService/searcherservice.svc

此外,当我尝试运行

svcutil.exe http://process.mycomp.com/SearcherService/SearcherService.svc?wsdl

正如 URL 上呈现的页面所说,我收到一个错误:

但是我在 web.config 中没有其他地方指定

还有其他地方可以吗?

0 投票
2 回答
455 浏览

c# - 关于 WCF 服务的简单查询

我有一个 WCF 服务,它公开了两种方法:

注意:wcf 服务和 sql server 部署在同一台机器上。Sql server 有一张名为employee 的表,用于维护员工信息。

  1. Read() 此方法从 sql server 检索所有员工。
  2. Write() 该方法将员工表中的员工信息写入(添加、更新、删除)到 sql server 中。

现在我开发了一个基于桌面的应用程序,任何客户端都可以通过它通过使用 Web 服务来查询、添加、更新和删除员工信息。

问题:

如果多个客户要同时更新员工信息,我该如何处理?sql server 本身是否通过使用数据库锁来处理这个问题?

请建议我最好的方法!

0 投票
3 回答
9630 浏览

wcf - WCF 调用抛出:“提供的 URI 方案 'http' 无效;应为 'net.tcp'。” 例外

我有一个托管在 IIS7 中的 WCF 服务。

这是我在 IIS 中托管的服务的 app.config

下面是客户端中引用 WCF 服务的 app.config。

出于某种原因,我仍然收到“提供的 URI 方案 'http' 无效;应为 'net.tcp'。” 例外 。

我无法弄清楚为什么......