Windows 2008 上的 IIS 7.0
WCF Web 服务,来自 VS 2010 的 .NET 4
Web 服务是通过发布安装的,我在服务器上拥有完全的管理员权限。有几种复杂的方法,但有一个简单的方法可以返回构建版本。如果我们能让这个工作正常,我可以全部修复 - 这是我的界面:
namespace MyNameSpace
{
[ServiceContract]
public interface WebInterface
{
[OperationContract]
[WebGet]
string GetVersion();
尝试通过 HTTP:// 连接,一切正常!
尝试通过 HTTPS:// 连接我得到一个 404 文件未找到。
当在 HTTP 和 HTTPS 上浏览完全相同的 URL 时,我可以访问通用的“您已创建 Web 服务...”页面,包括完整的 Web 服务路径和 C# 通用示例代码。
在 C# 中,我读过证书可能会导致麻烦,并且我已经实现了委托重载来批准我们的服务器证书。
我怀疑 Web.config 文件中缺少一个或多个条目,但我不知道从哪里开始。我已经尝试过 Google 搜索和 Stack Overflow 搜索,但我没有找到正确的搜索词组合来帮助解决这个特定问题。
网络配置:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="HttpGetMetadata">
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="LinkService" behaviorConfiguration="HttpGetMetadata">
<endpoint address="" contract="WebInterface" binding="basicHttpBinding" />
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
请帮忙。