问题标签 [wcffacility]
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.
c# - 更改并发模式
我正在使用温莎城堡 WCF 设施。文档说:
如果您从 WCF 激活切换到 Windsor 的 WcfFacility,请确保从服务类型中删除 ServiceBehavior 属性。
那么如何控制并发模式?
在香草 WCF 中,我会这样做:
似乎使用 WCF Facility 的并发模式设置为 Single 并且我找不到更改它的方法。
编辑:客户端异步调用 BeginFoo 方法,并且调用在客户端没有阻塞。我将日志记录放在 BeginFoo 方法的开头和结尾。日志表明服务器调用一次只进入和退出 BeginFoo 方法一次。
以下客户端调用神奇地排队。
.net - Castle Windsor WCF 和 System.TypeLoadException' 发生在 mscorlib.dll 中
我有一个自托管的 WCF 服务,我使用 Castle Windsor 作为 DI 容器。我得到了这个例外:
Castle 容器的配置如下所示:
我通过以下代码创建 WCF 服务:
它工作正常,但如果我在调试中运行选中“抛出异常时中断”选项调试器总是在线停止
我向我展示了上面列出的异常。
我是否以错误的方式将 Castle 与 WCF 一起使用?我可以避免这个例外吗?
编辑:
该问题仅出现在 Visual Studio 2013 中,在 2012 中很好。
我使用这些版本的城堡:
城堡核心 - 3.3.0
城堡 WcfIntegrationFacility - 3.3.0
温莎城堡 - 3.3.0
wcf - Castle Windsor WCF Facility 使用自定义 ClientModel 注册所有客户端
我有一组接口,我想在 Windsor 中注册为 WCF 客户端,并让它们都使用 WCF 发现来查找端点。我希望做一些像这样简单的事情:
WcfDiscoveryClientModel 的定义如下:
但是当然,WcfDiscoveryClientModel
从来没有执行过任何代码。从设施来源来看,DefaultClientModel
除非我将某些内容传递给Resolve()
. 我不完全确定我会作为参数传递什么,但我真的很想避免这条路线,因为这些客户端将在网络应用程序中使用。
所以,我的问题是:覆盖默认客户端模型选择的最佳方法是什么?
c# - C# - Castle WCF Facility - 如何正确设置客户端 OperationBehavior + WcfEndpoint.FromEndpoint 用法
我正在使用 wcf 工具并尝试设置 DataContractResolver 但我找不到任何示例...
最后我让它工作..虽然不确定这是否可以..
问题
(下面的代码)这是完成行为配置的正确方法还是我误解了什么?
也..我必须禁用异步才能使其工作..这是一个库错误/问题吗?
其他人很高兴在研究之前拥有..
我真的在考虑 wcf 设施拦截的性能影响.. 与使用它的好处。有什么想法吗?
为什么这个库不再更新,(http://docs.castleproject.org/Windsor.AllPages.aspx?Cat=Windsor.WCF-Facility)我担心使用不再维护的库?
所以我意识到(调试 wcf 工具)如果 WantsAsyncCapability=true DefaultClientModel 不会复制所有 ServiceEndpoint 行为,只是端点行为(true 是默认配置)所以在这里..
然后在 ReplaceServiceEndpointAsyncContracts 正在重新创建 ServiceEndpoint
上图可以看出,不是契约或操作行为被复制。
就是这样,谢谢。
signalr - 温莎城堡抛出“范围缓存已被处置。” 在 SignalR 集线器中
我们正在开发一个基于
- .NET 4.5.1
- MVC 5.2.2
- 欧文
- WebAPI 2.2
- SignalR 2.2.0
- 温莎城堡 3.3.0
- Wcf 集成工具 3.3.0
为了解决控制器,我们使用下面页面中描述的 ControllerFactory 类:http: //docs.castleproject.org/Windsor.Windsor-tutorial-part-two-plugging-Windsor-in.ashx
为了解决依赖关系,我们使用 WindsorDependencyResolver 类:
请记住,我们不会使用 Windsor 容器解析 SignalR 的 IHub 类,它们是由 OWIN 系统在管道中实例化的。Startup.cs 代码如下所示:
所有控制器、wcf 服务客户端和拦截器(日志记录类除外)都在项目中使用 LifestylePerWebRequest 注册。然而,我们用于记录的类是单例的。
下面的 Web.config 中有一个设置:
因此,当我们尝试在 SignalR 集线器中解析 wcf 客户端(具有每个 Web 请求的生活方式)时,我们会得到以下异常:
在调用 Container.Resolve() 方法之前,我可以在调试器窗口中看到 HttpContext。顺便说一句,我可以解决单例日志记录类。
有趣的一点是我的队友没有任何例外。主要区别在于我们的操作系统版本。我在 windows 8.1 中运行代码,我的队友在 windows 7 中运行它。
我们仅针对信号器集线器获得此例外。我们在其他任何地方都没有例外。我们如何解决这个问题?
c# - 将 runtimeknown 属性添加到由温莎城堡中的 WcfFacility 创建的 wcf 代理
我正在尝试使用 Castle Windsor 中出色的 wcf 设施创建客户端代理。但是,在使用该工具添加自定义属性时,我需要访问 OperationContextScope。我的方法在运行时失败并出现以下错误:传递给 OperationContext 的 IContextChannel 无效。必须是服务器调度通道或客户端代理通道。当代码进入 using 块时会发生这种情况,如下所示。非常感谢有关如何完成这项工作的任何建议。
容器设置:
调用代理:
castle-windsor - Windsor WcfFacility:设置 ServiceBehavior 属性
我正在使用 Windsor 的 WCF 设施托管一项服务,但我无法获取UseSynchronisationContext
和ConcurrencyMode
设置通常使用ServiceBehaviorAttribute
. 我已经看到了两个显然应该起作用的选项(但都尝试了都无济于事):
- 注册
ServiceBehaviorAttribute
为组件IServiceBehavior
- 修改WCF 注册中配置回调中的
Description
集合。Behaviors
OnCreated
我尝试过的第三种方法是 using AddExtensions
,但这会导致异常,因为ServiceBehaviorAttribute
Behaviors 列表中已经有一个(默认情况下?)。方法 2 也是如此,但在这种情况下,我可以删除它并添加一个新条目,或者修改现有条目。
令人沮丧的是,除了从您的服务中声明“删除 ServiceBehaviorAttribute”的行外,似乎没有任何文档,这显然是因为它可能与 WcfFacility 冲突。
有人可以指出我如何正确地做到这一点吗?任何提示表示赞赏!
c# - 用于多个端点的 Windsor WCF 客户端
我有一个服务在多个不同的服务器上运行,配置非常相似。我希望能够使用 Castle Windsor WCF Facility 为任意端点地址生成客户端。
现在,我会在编译时知道我所有的服务是什么,所以我可以这样做:
然后像这样做我的ServiceFactory:
但这对我忘记配置特定端点并不可靠。有没有更优雅的解决方案?
c# - 一个组件的多个扩展
我有以下安装程序:
我如何注册相同的服务但使用不同的扩展名,只在某些地方解决?
c# - 使用 Castle WCF Facility 对 WCF 服务进行异步调用 - 线程主体“继承”问题
我正在使用Castle WCF Facility对 WCF 服务执行异步调用,例如
是否有任何内置方法可以强制Thread.CurrentPrincipal
设置为与调用者线程中相同的值?