我有两个问题:
请注意,我使用的是 WSHttpBinding
答案 0 :(得分:1)
AFAIK,并以最简单的形式提出:
为了详细说明,ServiceHostingEnvironment
类包含AspNetCompatibilityEnabled
(有关详细信息,请参阅here),并且只能获取,不可设置。
这将导致人们假设 - 非常可靠 - 你不能这样做。一些大师可能知道另一种方法,但是,我非常怀疑它,因为这是一个我认为需要在服务器上执行应用程序而不是在执行期间进行评估的配置。
编译(通过使用AspNetCompatibilityRequirements
属性的装饰元素)也可用于配置类型;但这可能与现有的配置文件设置齐头并进。
如需进一步阅读,请查看this article。
答案 1 :(得分:1)
我认为你不能。
AspNetCompatibilityEnabled
设置允许您访问当前应用程序的http上下文(如果它是IIS 中托管的http wcf Web服务)。您的不在IIS中托管,因为它是一个控制台应用程序。
我认为能够在控制台应用程序中到达HttpContext.Current.Session
真的没有任何意义(无论如何我都能看到)。您想要达到哪个会话(或上下文)?您的服务器上可能有许多网站,每个网站都有自己的上下文。您的控制台应用程序实际上并不与其中任何一个相关。
有关此设置的更多内容可以在this页面的一半左右阅读。