2016-04-01 376 views
2

この種の質問は何度か尋ねられましたが、私はそれが起こる理由を理解しており、おそらく再試行以外は何もできません。System.Net.WebException:リモート名を解決できませんでした

名前解決には1つの質問があります。

私はAWS .Net SDK for 3.5 .Netを使用しています。私は大きなファイルをアップロードしています(> 500MB、最大1.5GB、医用画像)。私はTransferUtility.Upload()メソッドを呼び出します。

プログラムの大部分は素晴らしいです。

アップロードの途中でこのエラーが発生することがあります。通常、インターネットが遅いときに発生します。

例外をキャッチして再試行できます。つまり、AWSコード内で例外が発生するため、最初から再試行します。

私の質問は、プログラムがs3バケット名を解決し、しばらくの間アップロードされている場合、キャッシュされた解決済みの名前を使用するのではなく名前解決エラーが発生する理由は何ですか?

各スレッドは名前が独立して解決され、ネットワークが飽和しているためスレッドの1つが失敗していますか?これはコンピュータの設定ですか?このエラーは、ISPとしてCharterが800MBのファイルをアップロードしているWindows 10マシンで、一貫して再現できました。

約250MBのアップロードが行われた後にエラーが発生しました。

これは、このウェブ例外は、「名前解決」とあった問題を通知された実際の例外

Exception during upload :Amazon.Runtime.AmazonServiceException: 
A WebException with status NameResolutionFailure was thrown. ---> 
System.Net.WebException: The remote name could not be resolved: 'my-bucket.s3.amazonaws.com' 

答えて

0

です。 Amazon.S3.Transfer.Transferutilityを使用している場合、それはあなたがUpload呼び出しで使用EndpointRegionが一致していることが重要です

USEast1、USEast2など:何それはあなたを教えてくれないと、「名前」、それが参照していますが、「EndpointRegion」とは、例えばということですあなたがアップロードしているバケットのものです。

私の場合、RegionEndpoint.GetBySystemName("USEast1")RegionEndpoint.GetBySystemName("US-East-1")の違いを使っていました。

+0

私はこれを調べなければなりません。私は今この例外を抱えていません。私は今これに細心の注意を払うでしょう。私が思い出すと、転送の途中で例外が発生していたため、ファイルの一部が転送されてエラーが発生します。ここであなたの答えをありがとう。 – user618886

+0

問題ありません。それがあなたのために働くなら、upvote /正しいとしてマークされていただければ幸いです。 – pimbrouwers

関連する問題