【发布时间】:2012-03-13 12:43:17
【问题描述】:
我创建了一个简单的网络服务。 然后我创建了一个控制台主机,它必须通过 https url 托管服务..
这是我的配置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service behaviorConfiguration="mexBehaviour" name="NuriServiceLibrary.NuriService">
<clear />
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttpBindingConfig"
contract="NuriServiceLibrary.iNuriService" listenUriMode="Explicit" />
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="https://192.168.....:8001/SecureConsole" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="mexBehaviour">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBindingConfig">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
</configuration>
这是我的 program.cs:
static void Main(string[] args)
{
ServiceHost host = new ServiceHost(typeof(NuriService));
host.Open();
foreach (Uri address in host.BaseAddresses)
{
Console.WriteLine("Listening on " + address);
}
Console.WriteLine("Press <Enter> to terminate Host.\n\n");
Console.ReadLine();
host.Close();
}
我创建了一个证书: 1. makecert.exe -sr LocalMachine -ss My -n CN=192.168..... -sky exchange -sk -pe 2. netsh http add sslcert ipport=192.168....:8001 certhash=(故意留下) appid={(故意留下)}
但问题是,我看不到我的 https 网页……我看到这个网站不可用…… 有人有想法吗?
【问题讨论】:
-
您使用什么 URL 来访问服务元数据?
-
无,我添加了端口为 :9000 的 ip,但网站也不会显示..
-
您在哪里“添加”了 9000 端口的 IP 地址?另外,当您说“网站”时,您是指 WCF 帮助页面吗?
-
不,如果我按 F5 然后我的控制台启动...然后如果我打开 https 链接,我将看不到我的 wcf 页面,但只有页面不存在..
-
HTTPS 链接指向什么网址?