当前位置:  开发笔记 > 编程语言 > 正文

如何在代码中设置ServiceHostingEnvironment.AspNetCompatibilityEnabled = true(不在配置中).NET/C#

如何解决《如何在代码中设置ServiceHostingEnvironment.AspNetCompatibilityEnabled=true(不在配置中).NET/C#》经验,为你挑选了0个好方法。

我需要从RESTful WCF服务中使用来访问HttpContext.Current.我知道我可以通过在config中添加以下内容来实现这一目的:


并在我的服务上使用以下属性:

[AspNetCompatibilityRequirements(RequirementsMode 
    = AspNetCompatibilityRequirementsMode.Required)]

这是我的问题,我需要在代码中"旋转"一个服务实例进行单元测试,因此我不能使用配置文件来指定服务bebaviours等.目前我的代码看起来如下,但尽管在网上搜索我我一直无法弄清楚如何设置ServiceHostingEnvironment类并在不使用配置的情况下将AspNetCompatibilityEnabled属性设置为true,有人可以帮忙吗?

string serviceUrl = "http://localhost:8082/MyService.svc";

_host = new ServiceHost(typeof(MyService), new Uri[] { new Uri(serviceUrl) });

ServiceEndpoint serviceEndpoint 
    = _host.AddServiceEndpoint(typeof(IMyService), new WebHttpBinding(), string.Empty);

serviceEndpoint.Behaviors.Add(new WebHttpBehavior());

// Here's where I'm stuck, i need something like...
ServiceHostingEnvironmentSection shes = new ServiceHostingEnvironmentSection();
shes.AspNetCompatibilityEnabled = true;
_host.Add(shes);

_host.Open();

任何帮助都非常感谢,并提前感谢.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有