代码之家  ›  专栏  ›  技术社区  ›  PatTech

具有单个web.config的wcf https和http绑定

  •  2
  • PatTech  · 技术社区  · 16 年前

    我是否有任何方法可以完成以下任务:

    用于.NET Web应用程序的单个web.config文件。 Web应用程序公开了许多WCF服务供JavaScript使用。

    生产需要SSL,因此所有这些服务都是通过SSL强制提供的。

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

    我如何配置这一点,以便生产将使用HTTPS端点,而开发将为同一个服务使用HTTP端点?

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

    2 回复  |  直到 16 年前
        1
  •  2
  •   PatTech    16 年前

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

    刚开始有点尴尬,控制力不强,但最终效果更好。

    这是密钥所在的行,我将其放入.svc文件中:

    Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory"

        2
  •  0
  •   Vivian River    16 年前

    我不确定这是否是解决问题的最佳解决方案,但这样做的一种方法是在配置文件中声明一个变量,以指示在哪个环境中运行(dev或prod)。如果配置两个端点,可以在宿主代码中说,

    如果environment==“dev”,则将服务宿主在端点A上。

    如果environment==“eval”,则将服务宿主在端点B上。