gpt4 book ai didi

c# - 托管在启用了 IIS express ssl 上的 WCF

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

我已经苦思冥想了一个星期,我正在尝试在 IIS Express 上运行 WCF 服务并从浏览器中执行 GET,在 HTTP 中一切正常,但是那一刻我尝试使用失败的 HTTPS

HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下 URL 并确保其拼写正确。

我已经尝试了 stackoverflow 答案中的每个配置文件我也尝试了 this我知道它适用于 IIS,但我不明白为什么它在 IIS Express 上不起作用。这是我的配置文件:

<?xml version="1.0"?>
<configuration>


<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5"/>
</system.web>


<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<behaviors>
<endpointBehaviors>

<behavior name="webHttpEnablingBehaviour">

<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>

<behavior name="webHttpEnablingBehaviour">
<serviceMetadata httpGetEnabled="true" />
</behavior>

</serviceBehaviors>
</behaviors>
<services>
<service
name="ElasticSearchAPI.GetElasticService" behaviorConfiguration="webHttpEnablingBehaviour">
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />

<endpoint address=""
binding="webHttpBinding"
bindingConfiguration="default"
contract="ElasticSearchAPI.IGetElasticService"
behaviorConfiguration="webHttpEnablingBehaviour">
</endpoint>
<endpoint address="other"
binding="basicHttpBinding"
bindingConfiguration="default"
contract="ElasticSearchAPI.IGetElasticService">
</endpoint>
</service>

</services>
<client />
<bindings>
<webHttpBinding>
<binding name="default" ></binding>
</webHttpBinding>
<basicHttpBinding>
<binding name="default" allowCookies="true"></binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>

<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<validation validateIntegratedModeConfiguration="false"/>
<!--
To browse web app root directory during debugging, set the value below to true.
Set to false before deployment to avoid disclosing web app folder information.
-->
<directoryBrowse enabled="true"/>

<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>

</system.webServer>

</configuration>

我确定我遗漏了一些非常愚蠢的东西,但我真的没有想法,非常感谢您的帮助。

更新

我可以使用 https 访问我的 .svc,但是当我尝试从浏览器获取或从 fiddler 发布时,没有任何效果

最佳答案

像下面这样使用 ServiceBehaviour-

<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
</behavior>

这可能对你有帮助。

关于c# - 托管在启用了 IIS express ssl 上的 WCF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28859523/

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