gpt4 book ai didi

wcf - 在 IIS 中托管时如何从代码配置 WCF 服务?

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:07 25 4
gpt4 key购买 nike

我的 WCF 服务公开了一个 https 和一个 http 端点。除了 SSL,它们是相同的。它们映射到相同的代码。

最终目的是外部用户通过https连接,内部用户使用http。

在开发中,这给了我一个问题。 Cassini,VS打包的开发web服务器,讨厌SSL。

我想知道我是否可以从代码配置服务,所以在 Cassini 下运行时,我不会配置 https。

因此出现了问题 - 如果服务托管在 IIS 上,我如何通过代码配置服务?关于如何说服 Cassini 不要提示配置的 https 部分,我会很高兴有其他答案。

最佳答案

“IIS 将负责根据您的 *.svc 文件启动必要的 ServiceHost - 实际上,您无能为力。”

不太接近事实。恰好在您服务的 SVC 文件中有一个名为 Factory 的属性。您可以在哪里指定类和类所在的组件。此类可能是您自己的 Web|DataServiceHostFactory 的后代所以你的 svc 标记看起来像这样

<%@ ServiceHost 
Language="C#"
Debug="true"
Service="name.space.myService"
CodeBehind="name.space.myService.svc.sc"
Factory = "name.space.WebServiceHostFactoryEx, assembly.name"
%>

将为每个服务命中创建 WebServiceHostFactory,并将按照您希望的方式重新创建主机。

您还需要继承 WebServiceHost 并按照您需要的方式使用某些端点、行为、地址等设置创建它 - 无论您喜欢什么。

Michele Bustamante 的帖子非常好 here

编辑:我发现上面的链接不再有效,所以这里是another one .

我在 IIS 托管环境中将其用于以相同方式初始化的几个服务。

关于wcf - 在 IIS 中托管时如何从代码配置 WCF 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com