- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的托管应用程序中,我目前的 WCF 服务运行方式为:
SomeService service = new SomeService(container) //IUnityContainer
ServiceHost serviceHost = new ServiceHost(service, serviceAddress);
有什么收获? SomeService 定义为:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single
这已经不行了,我需要让它成为InstanceContextMode.PerCall。
当尝试 .Open() 如果将 InstanceContextMode 更改为“PerCall” - 它将抛出:
System.InvalidOperationException: In order to use one of the ServiceHost constructors that takes a service instance, the InstanceContextMode of the service must be set to InstanceContextMode.Single. This can be configured via the ServiceBehaviorAttribute. Otherwise, please consider using the ServiceHost constructors that take a Type argument
这是我的问题的解决方案吗? How do I pass values to the constructor on my wcf service?
我主要关心的问题:
我在这个托管应用程序中运行不同类型的服务,似乎只有当我运行一种类型的服务时,这个解决方案才好。
最佳答案
当需要多个服务实例(PerCall 或 PerSession)时,将单个服务实例传递到 ServiceHost 是不够的……这是异常(exception)情况。
控制实例创建由 IInstanceProvider 管理.
Is this the solution to my problem ? How do I pass values to the constructor on my wcf service?
这只回答了你问题的一半。您正在使用 Unity。创建容器的管理需要成为实现的一部分。最常见的解决方案是使用 Unity.WCF也可作为 NuGet 使用包。
请注意,Unity.WCF 不支持基于对象生命周期的 WCF OperationContexts。有多个(更复杂的)实现,如 this那做。
关于c# - 使用 DI 和 InstanceContextMode.Percall 的自定义 ServiceHost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16919969/
决定是使用 PerSession 还是 PerCall 的一般经验法则是什么? 我有一个稍微繁重(我认为..)的 WCF 服务,包含对大约 80 个表的 CRUD 方法。 我已将 WCF 服务分成 1
我一直在研究 WCF 中的实例化和并发模式,我试图了解是否有任何情况可以使用 PerCall 实例化和 Reentrant 并发。在下面MSDN link声明“在 PerCall 实例化中,并发性不相
我正在编写一项服务,该服务会不断受到来自不同来源的攻击。该服务需要在某些对单个共享资源的调用期间保留数据。在本例中是 XML 文件(我知道这是存储数据的愚蠢选择,但我无法控制该决定)。 所以我希望服务
我已经为 WCF 实现了一个 REST 服务。该服务提供了一个可以被多个客户端调用的函数,这个函数需要 1 分钟以上才能完成。所以我想要的是,对于每个客户端,使用一个新对象,以便一次处理多个客户端。
如果我有一个使用 Prism 和 WCF 构建的客户端/服务器类型的应用程序,并且我希望在服务器端每次调用都实例化 wcf 服务,但我想使用依赖注入(inject)(使用 UnityContainer
我有一个 WCF 服务,使用 basicHttpBinding 公开一个 ServiceContract,因此根据我的理解,InstanceContextMode 将设置为 PerCall(因为 ba
我正在使用 netTcpBinding,根据我的阅读,percall 实例上下文是使用 wcf 的推荐方式。然而,这是否意味着我将无法使用异步双工回调?因为服务对象在方法调用之间被销毁,所以没有办法在
我有一个正在传输大文件的 WCF 服务。 目前我正在使用单例服务和我类中的实例列表来保存状态并响应客户端对传输进度的请求等等。 实例化类本身在需要时为每次传输处理新线程。 添加传输请求和请求进度的客户
对于节流设置为高的 PerCall WCF 服务(例如,最多 200 个并发调用),WCF 会启动一个新实例并在线程池线程上调用请求吗? 如果是,那么这对允许的并发调用总数有影响吗? 我问是因为我似乎
我的 wcf 服务配置有问题。我希望每次调用我的服务时都创建一个新的服务实例。对于并发性,我希望一个调用在另一个调用开始之前完成。 因此,如果我有这样的服务: [ServiceBehavior(Con
我是否需要在使用 ConcurrencyMode.Multiple 的 WCF 服务中实现自己的锁定?和 InstanceContextMode.PerCall或 InstanceContextMod
我有 AJAX 客户端使用 SOAP 1.2 使用的 WCF 服务 网络配置: 据我所知read , 我必须使用 因为使用“wsHttpBinding”绑
我查看了不同的 WCF 服务行为( ConcurrencyModes/InstanceContextModes ),但没有得到 ConcurrencyMode 之间的区别“单个”/“多个”使用 Ins
在我的托管应用程序中,我目前的 WCF 服务运行方式为: SomeService service = new SomeService(container) //IUnityContainer Serv
我正在使用 python -m cProfile -s 调用 myscript.py python -m cProfile -s percall myscript.py 不起作用。 Python 文档
还没有通过相当多的谷歌搜索找到这个。 我知道我可以通过装饰类名来设置实例: [ServiceBehavior(InstanceContextMode = InstanceContextMode.Per
我们有一个 WCF 服务,可以进行大量事务性 NHibernate 调用。有时我们会看到 SQL 超时,即使调用正在更新不同的行并且表被设置为行级锁定。 在深入研究日志后,看起来不同的线程正在进入代码
我是一名优秀的程序员,十分优秀!