1

があり、その Web サービスを介してweb serviceアクセスします。databaseWeb サービスを使用してテキスト ファイルを DB に保存します。

ファイルをDBに保存する前に、ファイルが変更されていないことを確認したい。

これを行う方法がわかりません。誰でもこれを行う方法を説明してください。手順を指定するだけで十分です。

編集

テキスト ファイルを として Web サービスに渡していますbyte array。言い換えれば、送信したすべてのバイトがそのままWebサービスに受信されたことを確認したいのです(データが破損したり失われたりしていません)。Web サービスも制御できます。

4

2 に答える 2

1

通常、それを確認する必要はありません。それを行うさまざまな通信レイヤーがあります。

輸送中にパッケージが紛失した場合は再送され、破損した場合は修正/再送されます。TCP/IP プロトコルを使用していると仮定すると、トランスポート層は、データを処理することなく、データが適切に転送されることを保証します。

(これはファイルであり、ストリーミング ビデオではありません。UDP プロトコルではデータが破損する可能性がありますが、ビデオ/オーディオでは問題ありません)

*物事を明確にするために: あなたはアプリケーション層にいます。 レイヤーの例

編集:

TCP/IP に関するウィキペディアから:

この抽象化により、上位層は下位層が提供しないサービスを提供することもできます。元の OSI モデルはコネクションレス サービス (OSIRM CL) を含むように拡張されましたが、[16] IP は信頼できるようには設計されておらず、ベスト エフォート型の配信プロトコルです。これは、すべてのトランスポート層の実装で、信頼性を提供するかどうか、または提供する方法を選択する必要があることを意味します。UDP はチェックサムによってデータの整合性を提供しますが、配信は保証しません。TCP は、受信者がパケットの受信を確認するまで再送信することにより、データの完全性と配信の保証の両方を提供します

于 2013-07-08T09:43:05.253 に答える
1

クライアントで検証するには、ファイルのチェックサムを計算する必要があります。

string checkSum=null;
using (System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create()) {
  checkSum= BitConverter.ToString(
    md5.ComputeHash(Encoding.UTF8.GetBytes(theString))
  ).Replace("-", String.Empty);
}
于 2013-07-08T09:47:25.703 に答える