问题标签 [wcf]

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 投票
6 回答
11763 浏览

.net - WCF通过防火墙推送到客户端?

另请参阅WCF 服务器如何通知 WCF 客户端有关更改?(比简单轮询更好的解决方案,例如评论或长轮询)

我需要通过客户端防火墙将推送技术与 WCF 一起使用。这一定是一个常见问题,我知道它在理论上是有效的(见下面的链接),但我没能让它工作,我也找不到演示它的代码示例。

要求:

  • WCF
  • 客户端通过 tcp 端口 80 (netTcpBinding) 连接到服务器。
  • 服务器以不规则的时间间隔(1 分钟到几个小时)推送信息。
  • 用户不必配置他们的防火墙,服务器推送必须通过所有入站端口关闭的防火墙。为此需要同一连接上的 TCP 双工,双重绑定不起作用,因为必须在客户端防火墙上打开端口。
  • 客户端定期(可能每 15 分钟)向服务器发送心跳,因此服务器知道客户端仍然活着。
  • 服务器是带有 WAS 的 IIS7。

解决方案似乎是双工 netTcpBinding。基于此信息:

WCF 通过防火墙和 NAT

在 IIS 中保持连接打开

但是我还没有找到有效的代码示例。我尝试将 Microsoft 的 WCF 示例中的“Duplex”和“TcpActivation”示例组合在一起,但没有任何运气。请有人指点我可以工作的示例代码,或构建一个小型示例应用程序。非常感谢!

0 投票
1 回答
6008 浏览

wcf - 您在对象模型设计中遵循哪些 WCF 最佳实践?

我注意到少数 WCF 应用程序选择“分解”它们的对象。也就是说,一个项目可能有一个包含 DataContracts/Members 的 DataObjects 程序集,以及一个执行业务逻辑的有意义的类库。

这是不必要的抽象级别吗?使用 DataContract 信息浏览和标记现有类库是否存在任何固有的弊端?

另外,顺便说一句,您如何处理错误情况?服务抛出的异常(InvalidOperation、ArgumentException 等)是否被普遍接受,或者通常有一个级别?

0 投票
2 回答
9844 浏览

wcf - 关闭和释放 WCF 服务

上的Close方法ICommunicationObject可以抛出两种类型的异常,如 MSDN在这里概述的那样。我理解为什么该Close方法会抛出这些异常,但我不明白为什么Dispose服务代理上的方法调用该Close方法时没有try围绕它。您的方法不是Dispose您想要确保不抛出任何异常的地方吗?

0 投票
4 回答
10590 浏览

.net - 创建 wcf Web 服务实例时出现 InvalidOperationException

我有一个从类库中引用的 WCF Web 服务。项目运行后,从类库中创建服务客户端对象时,我收到 InvalidOperationException 消息:

在 ServiceModel 客户端配置部分中找不到引用合同“MyServiceReference.IMyService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。

我用来创建实例的代码是:

MyServiceClient 继承自哪里

System.ServiceModel.ClientBase

我该如何解决这个问题?

注意:我有一个单独的控制台应用程序,它只是创建相同的服务对象并对其进行调用,它可以正常工作。

0 投票
2 回答
2845 浏览

wcf - WCF - 域对象和 IExtensibleDataObject

典型场景。我们使用老式的 XML Web 服务在服务器场与多个分布式本地客户端internally之间进行通信。不涉及第三方,只有我们自己和我们的客户使用的应用程序。

我们目前正在考虑从模型XML WS转向WCF/object-based模型,并一直在尝试各种方法。其中之一涉及直接通过网络传输域对象/聚合,可能会在它们上调用 DataContract 属性。

通过在 上使用IExtensibleDataObjectDataContract使用 Order 属性DataMembers,我们应该能够处理简单的属性版本控制问题(请记住,我们控制所有客户端并且可以轻松地强制更新它们)。

我一直听说我们应该通过网络使用专用的、仅传输的数据传输对象 ( DTOs)。

为什么?还有理由这样做吗?我们在服务器端和客户端使用相同的域模型,当然,只有在认为正确和“必要”时才预填充集合等。集合属性利用服务定位器原理和 IoC 来调用NHibernate-based“服务”以直接(在服务器端)获取数据,并在客户端调用WCF“服务”客户端与WCF服务器场对话。

那么 - 为什么我们需要使用DTOs?

0 投票
2 回答
18482 浏览

wcf - 如何在 WCF 中只使用一次客户端凭据进行身份验证?

在使用基于 WCF 构建的 API 时,确保您只需要进行一次身份验证的最佳方法是什么?

下面列出了我当前的绑定和行为

接下来是我在客户端应用程序中用来进行身份验证的内容(目前我每次想调用 WCF 时都必须这样做)

我想做的是使用这些凭据对 API 进行身份验证,然后在我的客户端应用程序使用 Web 服务项目的时间段内获取某种类型的令牌。我认为establishsecuritycontext=true 是为我做的吗?

0 投票
4 回答
16678 浏览

wcf - WCF 服务可以有多少个 ServiceContract?

WCF 服务可以有多少个 ServiceContract?

具体来说,由于 ServiceContract 是接口的属性,我可以将多少个接口编码到一个 WCF Web 服务中?是一对一的吗?

跨多个 Web 服务分离合同是否有意义?

0 投票
3 回答
3778 浏览

wcf - 使用 WCF 服务域模型进行延迟加载?

我希望将我的域模型推入 WCF 服务 API,并希望通过这种类型的设置了解延迟加载技术。

采用这种方法时有什么建议吗?


当我实现这项技术并进入我的应用程序时,就在服务器返回我的列表之前,它会获取每个应该延迟加载的属性......因此急切加载。您能否解释一下这个问题或提出解决方案?

编辑:看来您可以使用 XMLIgnore 属性,因此在序列化过程中不会对其进行查看..尽管仍在阅读

0 投票
3 回答
11327 浏览

wcf - 使用 WCF 对服务进行版本控制的最佳实践?

我开始几乎完全在 WCF 中使用我的模型,并希望获得一些实用的方法来随着时间的推移对这些服务进行版本控制。谁能指出我正确的方向?

0 投票
3 回答
14029 浏览

wcf - 如何对 WCF 服务进行单元测试?

我们有一大堆 DLL,可以让我们访问我们的数据库以及其他应用程序和服务。

我们使用瘦 WCF 服务层包装了这些 DLL,然后我们的客户会使用该服务层。

我有点不确定如何编写只测试 WCF 服务层的单元测试。我应该只为 DLL 编写单元测试,并为 WCF 服务编写集成测试吗?我会很感激任何智慧......我知道如果我的单元测试实际上进入数据库,它们实际上不会是真正的单元测试。我也明白我真的不需要在单元测试中测试 WCF 服务主机。

所以,我对究竟要测试什么以及如何测试感到困惑。