问题标签 [instancecontextmode]
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.
.net - WCF - Webhttpbinding,查看 PerCall 和 PerSession 之间的显着差异
我试图同时配置我的 wcf webhttpbinding (restful) 服务 PerSession 和 PerCall。
据我了解,webhttpbinding 不使用会话来满足 restful 原则,但是当从 LoadUI 对我的服务施加负载时,我发现了显着的性能差异。
Persession 和 PerCall 不应该以相同的方式运行,因为每次调用都会创建一个新的服务实例,因为 webhttpbinding 中没有会话。
wpf - WPF 中的 WSDualHttpBinding 没有响应
我仅在 WPF 应用程序中使用 WCF WSDualHttpBinding 时遇到问题。在更改之前,此 WCF 有效。现在不工作了。我仅将 ServiceBehaviour(ConcurrencyMode 和 InstanceContextMode)更改为:
之后,WCF 没有响应,请参阅异常详细信息。有任何想法吗?
编辑
c# - 检查对服务的异步调用是否仍然存在
我有一个异步服务
服务合同定义如下:
我的客户定义如下:
客户端类实现回调方法(完成,进度等......)。
它工作正常,但是如果我调用该方法,并且她开始在服务器上运行并且我关闭了服务器,我无法知道我的调用状态,并且客户端仍然认为该方法仍在运行。
那么,如何检查此呼叫是否仍在运行?
感谢帮助者:)
编辑:
回调接口:
服务接口:
服务等级:
客户端类:
编辑:新客户类:
客户端类:
wcf - WCF InstanceContextMode.PerSession 的问题
我正在尝试掌握 WCF 实例化,但在会话方面遇到了麻烦。我对它如何工作的假设是不正确的,或者我遗漏了一些东西。
在我的服务合同(实现而不是接口)上,我已将服务行为的 InstanceContextMode 设置为 PerSession。我在服务中有一个名为“word”的私有字符串,它只是一个空字符串,还有 2 个方法,1 个将 word 变量设置为指定值,1 个用于检索它。
我在 MVC 应用程序中添加了服务引用,然后执行以下调用:
- 获取单词()
- SetWord("测试")
- 获取单词()
正如我所料,第一次调用返回一个空字符串。SetWord 正在更新私有变量并按照我的预期重新调整该值。然而,对 GetWord() 的第二次调用返回一个空字符串,我原以为它会返回“test”。
如果我将 InstanceContextMode 更改为“Single”,我会从对 GetWord 的最终调用中得到“测试”(正如我所料),但我不明白为什么我不会从 PerSession 中得到相同的结果。
谁能帮我理解我哪里出错了?
web-services - 在 WCF 服务中,当我将 instanceContextMode 设置为 single 时,何时创建实例?
实例是在第一次调用服务时创建的,还是在发布时立即创建的?还是有其他选择?
我不知道这是否重要,但我在 IIS 7 上托管。
wcf - 如何避免不必要的对象被初始化 WCF
我们有一个 WCF 服务,它使用 BasicHttpBinding 公开几个操作,服务实现是这样的
但是我在这段代码中看到的问题是,即使我们收到处理其中一条消息的请求,所有处理程序都已初始化,即 handler1/2/3 我的意思是当客户端调用 HandleMmessage2() 方法时,只有处理程序 _handler2 应该是初始化。实现这一目标的最佳方法是什么?
由于该服务使用不支持会话的 BasicHttpbinding 公开端点,因此 InstanceContextMode 将是 PerCall ,即使来自客户端的 evert 请求不需要它,它也会创建所有处理程序。
c# - WCF 服务的 PerCall InstanceContextMode 行为
我有一个 WCF 服务,使用 basicHttpBinding 公开 ServiceContract,因此据我了解,InstanceContextMode将设置为 PerCall(因为 basicHttpBinding 不支持会话),ConcurrenyMode 将设置为 Single。
这个 WCF 的客户端是一个 windows 服务,它同时调用服务上的 4 个不同的操作,在服务中我们使用了一个单例类,并且几乎没有静态变量。我们一直面临一个问题,即错误的值被传递给某些 DB 存储过程。
使用 PerCall InstanceContextMode 和 Single 并发模式,我了解为每次调用创建的新服务实例,因此我认为即使在服务实现和静态变量中存在一些单例类(我们还没有使其成为线程安全)对象将被销毁,但我们观察到运行 SQL 分析器,旧值正在通过数据库。
我们已经将我们的 WCF 服务代码编写在一种 3 层架构中,即 ServiceClass、BusinessLogicLayer 和 DataAccessLayer,当我们说服务实例在客户端请求完成后被销毁时,PerCall 设置为 instanceContextMode,是否意味着我们销毁所有ServiceClass、BusinessLogicLayer和DataAccessLayer中的对象?
请帮助我了解可能出了什么问题
c# - 如何让 WCF 服务一次只接一个电话
我们有一个 WCF 服务,比如
我们有这个 WCF 服务的客户端,它是一个 Windows 服务,它使用新的代理调用 OperationA/B/C/D 以上的所有操作。
对于当前的实现,我们遇到了客户端同时调用所有操作的问题。
InstanceContextMode = PerCall 和 ConcurrencyMode = Single
InstanceContextMode 和 COncurrency 是否有任何组合可以将我的服务更改为一次只接受一个请求,我的意思是如果客户端代理 A 已调用 OPerationA 并且服务正在处理请求并且客户端代理 B 尝试调用 OperationB(或任何其他操作),它应该被阻止,直到第一个请求完成。
谢谢
asp.net-mvc - MVC 单实例对象
我需要在 MVC 应用程序中声明一个对象。这个对象消耗内存,所以我需要在应用程序启动时创建一次,并且在回收之前不会被销毁。对象的相同实例也应该能够跨控制器内的应用程序访问。
我通过使用 InstanceContextMode.Single 在 WCF 服务中使用了这个对象并且效果很好。但是如何使用 MVC?
wcf - 为什么我的 sessionful、NetTcpBinding、Streaming 服务实例不保留会话状态?
我试图弄清楚为什么我的 NetTcpBinding 服务没有按预期维护状态。(也许我做错了)
我有一个具有以下结构的 WCF 服务(简化):
消息合约
合同
执行
客户端
我遵循了有关处理会话(特别是流)的 MSDN 文档。
为什么var currentMetaData = client.GetMetaData(); 返回空?尽管在第一次通话中对其进行了初始化?
更新:
- 研究具有两种不同绑定的可能性:一个用于流式传输,另一个用于会话创建。