2

WCFサービスとそのSSLを使用して作成しました。サービスをコンパイルして開始できます。しかし、Webブラウザではヒットできません。「192.168.1.12への接続が中断されました」とだけ書かれています。ブラウザで有効になっていて、SSLを使用している他のサイトで機能することを確認しました。私はWCFサービスを初めて使用するので、トラブルシューティングに関するアドバイスやヒントが役立ちます。

IIS**を使用していません

以下は私のWeb構成情報です。

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="WSHttpBinding_IApplicationService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
          <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="6553600" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="Transport">
            <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
            <message clientCredentialType="Certificate" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <services>
      <service name="Application.ServiceModel.ApplicationService" behaviorConfiguration="ApplicationServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="https://192.168.1.12:8000/ApplicationServiceModel/service" />
          </baseAddresses>
        </host>
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="WSHttpBinding_IApplicationService" contract="Application.ServiceModel.IApplicationService" />
        <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ApplicationServiceBehavior">
          <serviceMetadata httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
4

1 に答える 1

1

自己署名証明書は通常無効と見なされ、実際にテストにのみ使用されます。

wcfでは、以下を使用して(クライアント上の)証明書エラーを無視できます。

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

ただし、テストにのみ使用してください。実稼働環境では、信頼できる証明書機関によって署名された証明書を取得する必要があります。

于 2012-09-07T23:10:48.497 に答える