2

有什么办法可以完成以下任务:

.net Web 应用程序的单个 Web.config 文件。Web 应用程序公开了许多 WCF 服务供 javascript 使用。

生产需要 ssl,因此所有这些服务都强制使用 ssl。

开发不允许ssl,(ASP.NET开发服务器)

我该如何配置它,以便生产将使用 HTTPS 端点,而开发将使用 HTTP 端点来提供相同的服务?

将两个端点添加到同一个服务不起作用,因为当它尝试连接到 HTTP 端点时,它会抛出一个错误,因为 asp.net 开发服务器不支持 https 端点。

4

2 回答 2

2

我通过使用 ServiceHostFactory 为我生成适当的绑定解决了这个问题。

一开始有点尴尬,控制较少,但最终效果更好。

这是关键的行,我把它放在我的 .svc 文件中:

Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory"

于 2010-01-18T21:20:29.560 回答
0

我不确定这是否是解决您的问题的最佳方法,但这样做的一种方法是在配置文件中声明一个变量来指示它在什么环境(开发或产品)中运行。如果您配置两个端点,您可以在托管代码中说,

如果 environment=="dev",则在端点 A 上托管服务。

如果 environment=="eval",则在端点 B 上托管服务。

于 2009-12-24T16:43:59.133 回答