3

System.IO.File.Copy()を使用して、ネットワーク上の場所からクライアントにファイルをコピーしようとしています。これは長い間機能してきましたが、突然、クライアントに次のエラーが発生します。

System.IO.IOException:クライアントとサーバーの間に時間や日付の違いがあります。

グーグルで検索しましたが、C#または.Netに関連するものを見つけることができませんでした。

4

1 に答える 1

4

低レベルの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サイトは、これに関するその他の質問をフォローアップするのに適した場所です。

于 2012-04-24T12:13:59.730 に答える