Как добавить WCF maxClockSkew - PullRequest
       20

Как добавить WCF maxClockSkew

1 голос
/ 30 августа 2011

Я добавил maxClockScrew в файл конфигурации службы WCF, потому что он выдает ошибку при попытке вызвать его через Интернет, но когда я изменил часовой пояс клиента на часовой пояс сервера, он работает нормально (когда оба в UTC +10.00 это работает, что означает отсутствие разницы во времени) или, если я установлю оба времени для синхронизации из интернета, то это будет нормально.

Это мой конфигурационный файл сервиса,

<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="Data Source" value="WIN-HDG2"/>
<add key="Initial Catalog" value="DEV"/>
<add key="User ID" value="sa"/>
<add key="Password" value="ssa"/>
<add key="Major version" value="1"/>
<add key="Minor Build" value="1"/>
</appSettings>
<connectionStrings/>
<system.web>   

<compilation debug="true" targetFramework="4.0">
</compilation>
<authentication mode="Windows"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
</system.web>
<system.serviceModel>
<services>
  <service behaviorConfiguration="ABService.ServiceBehavior"
   name="ABService.Service">

<endpoint address="" binding="wsHttpBinding" name="ValidatorEndpoint" bindingConfiguration="ABService.ServiceBehavior"
     contract="ABService.IService">
      <identity>
        <dns value="localhost" />
      </identity >
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost/" />
      </baseAddresses>
    </host>

  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="ABService.ServiceBehavior">
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="true" />
      <serviceCredentials>
        <serviceCertificate findValue="AB548"
              storeLocation="LocalMachine"
              storeName="My"
              x509FindType="FindBySubjectName" />
        <userNameAuthentication userNamePasswordValidationMode="Custom"
         customUserNamePasswordValidatorType="ABService.Validator.UserNamePassValidator,ABService" />
      </serviceCredentials>

    </behavior>
  </serviceBehaviors>
</behaviors>


<bindings>
  <wsHttpBinding>
    <binding name="ABService.ServiceBehavior" >
      <readerQuotas maxDepth="320" maxStringContentLength="8192000" maxArrayLength="16384000" maxBytesPerRead="999930473" maxNameTableCharCount="16384000"/>
      <security mode="Message">
        <message clientCredentialType="UserName"/>
      </security>
    </binding>
  </wsHttpBinding>


  <customBinding>
    <binding name="ABService.ServiceBehavior">
      <textMessageEncoding />
      <security authenticationMode="Kerberos">
        <localClientSettings maxClockSkew="00:07:00" />
        <localServiceSettings maxClockSkew="00:07:00" />
        <secureConversationBootstrap>
          <localClientSettings maxClockSkew="00:30:00" />
          <localServiceSettings maxClockSkew="00:30:00" />
        </secureConversationBootstrap>
      </security>
      <httpTransport />
    </binding>
  </customBinding>
</bindings>

Пожалуйста, кто-нибудь, помогите мне с этим вопросом ....

...