spring.net 和 WCF Rest 服务

发布于 2024-12-19 13:58:18 字数 214 浏览 1 评论 0原文

我正在使用 VS2010 .net 4.0 和 Rest 服务模板构建 WCF Rest 服务。我想介绍 spring.net - IoC,但是当设置 InstanceContextMode.Single 时我无法初始化 spring。对于所有其他设置,我可以使用 IInstanceProvider 接口并引入自定义行为。

我的问题是:

还有其他方法可以初始化 spring 吗?

I am building a WCF Rest Service using VS2010 .net 4.0 and the Rest service template. I would like to introduce spring.net - IoC but I am not able to get spring initialized when the InstanceContextMode.Single is set. For all other settings I can use IInstanceProvider interface and introduce a custom behaviour.

My question is:

Is there any other way I can get spring initialized?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

单身狗的梦 2024-12-26 13:58:18

抱歉,我刚刚看到主要响应中的评论

如果您唯一的问题是引用的名称,您可以创建自己的引用并修复引用参数,或者添加一个字典,在 xml 配置中设置一些别名并进行查找那。


据我所知,当 InstanceContextMode 为 single 时,不能使用 Spring;来自文档:

虽然“本地”与 WCF 集成似乎是最自然的
方法有一个“gotya”需要进一步研究
看看是否有一个可接受的解决方法,以便这种方法
是可行的。问题是,如果该服务配置为
单例,例如使用
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)] 然后
IInstanceProvider 的调用被短路。

该文档表明:

一种不太吸引人的解决方法是使用 PerCall 实例化模式,但设置
Spring配置中的singleton属性为true,这样就
始终返回相同的实例。

更多信息在这里: http://www.springframework.net /docs/1.2.0-M1/reference/html/wcf.html

Sorry I just saw the comments in the main response

If your only problem is the name of the reference, you could create your own and fix the reference parameter, or add a dictionary where you set some aliases in the xml config and do a lookup against that.


As far as I know you can't use Spring when the InstanceContextMode is single; from the doc:

While integrating 'natively' with WCF does seem to be the most natural
approach there is one 'gotya' that needs to be investigated further to
see if there is an acceptable workaround in order for this approach to
be viable. The issue is that if the service is configured to be a
singleton, for example using
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)] then
the invocation of the IInstanceProvider is short-circuited.

The documentation suggests this:

One workaround, which is not very appealing, is to use the PerCall instancing mode but set the
singleton attribute in the Spring configuration to true, this way the
same instance is always returned.

More info here: http://www.springframework.net/docs/1.2.0-M1/reference/html/wcf.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文