2011-09-27 22 views
2

任何人都可以请解释为什么当创建一个WCF webservice时,你想使用HttpContext.Current.Items你需要在2个地方添加一些代码? 一个在web服务本身([AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)])和一个在web.config文件(<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />)?为什么我需要设置两次aspNetCompatibilityEnabled?

我的一位同事刚刚将他所有的web服务调用都失败了。他有web.config安装程序丢失,并问我为什么。我试图解释,但我不知道我是否能够:)

我认为它与Web服务代码和Web服务托管地点的分离有关。 Web服务本身说它需要这种兼容模式。然后,还需要设置宿主环境以表明它应该以该兼容模式运行。 这不是基本点吗? 他仍然有一个问题:“但是,如果服务使用该属性,它不应该自动?”

回答

2

第一个告诉WCF必须启用aspcompat,第二个启用它。你应该能够没有第一个。

这会强制配置WCF服务的人使用正确的配置。

MS设计的这个想法是配置服务的人可能是其他人的人。

回答他最后一个问题。当您向服务添加属性时,您不需要配置主机,您需要如何配置主机。配置发生在主机上。

+1

感谢您的确认..这正是我试图解释他。 – TweeZz

相关问题