System.IO.File.Copy()を使用して、ネットワーク上の場所からクライアントにファイルをコピーしようとしています。これは長い間機能してきましたが、突然、クライアントに次のエラーが発生します。
System.IO.IOException:クライアントとサーバーの間に時間や日付の違いがあります。
グーグルで検索しましたが、C#または.Netに関連するものを見つけることができませんでした。
System.IO.File.Copy()を使用して、ネットワーク上の場所からクライアントにファイルをコピーしようとしています。これは長い間機能してきましたが、突然、クライアントに次のエラーが発生します。
System.IO.IOException:クライアントとサーバーの間に時間や日付の違いがあります。
グーグルで検索しましたが、C#または.Netに関連するものを見つけることができませんでした。
低レベルのWindowsエラーが原因で、IOExceptionが常に発生します。WinError.h SDKヘッダーファイルを調べると、適切な一致が得られます。
//
// MessageId: ERROR_TIME_SKEW
//
// MessageText:
//
// There is a time and/or date difference between the client and server.
//
#define ERROR_TIME_SKEW 1398L
これを文字通りとると、2台のマシンには同じUTC時刻に時を刻まない時計があります。これはかなり深刻な問題であり、それぞれのシステム管理者が対処する必要があります。時計をドメインコントローラーに同期するように、またはWindowsタイムサービスを有効にすることによって、マシンをセットアップするように。serverfault.com SEサイトは、これに関するその他の質問をフォローアップするのに適した場所です。