Z prawie wszystkimi (bezpiecznymi) punktami końcowymi usługi WCF w mojej aplikacji, jeśli zegar systemu klienta jest ustawiony zbyt daleko w przyszłości lub w przeszłości, otrzymuję wyjątek od mechanizmu skoku zegara WCF (opisanego tutaj: http://www.danrigsby.com/blog/index.php/2008/08/26/changing-the-default-clock-skew-in-wcf/).Dlaczego mój punkt końcowy WCF nie generuje wyjątku Maks. Odchylenie zegara?
Jednak jeden punkt końcowy, w którym zaimplementowana jest moja metoda Login(), nigdy nie generuje tego wyjątku, mimo że jest włączone zabezpieczenie transportu (oczywiście nie są wymagane żadne poświadczenia).
Dlaczego ten "punkt końcowy" nie działa? Może dlatego, że clientCredentialType jest ustawiony na "Brak"?
Jako przykład, oto uproszczona wersja mojej konfiguracji:
<services>
<service name="Foo">
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="binding1"
contract="IFoo" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="binding1" maxReceivedMessageSize="100000000">
<readerQuotas maxDepth="1000000000" maxArrayLength="1000000000" maxStringContentLength="1000000000" />
<security mode="Transport">
<transport clientCredentialType ="None"/>
</security>
<reliableSession enabled="false" />
</binding>
</wsHttpBinding>
</bindings>