以下に示すように、try/catchメソッドがあります。インターネット接続がダウンすると、コードはtryでブロックされ、catchに入力されず、アプリケーションは応答を停止します。インターネット接続が回復すると、問題は解消され、すべてが正常に機能します。
これは私のコードの一部です:
using (var fileStream = System.IO.File.OpenRead(strLocatie))
{
try
{
blobSAS.UploadFromStream(fileStream);
}
catch
{
}
}
tryブロックに1000ms以上かかる場合、コードが自動的にキャッチに移動するようにタイムアウトを設定できますか?
全体の方法:
public void uploadImages(string strLocatie, string naamBestand, string directoryname)
{
try
{
string dag = DateTime.Now.Day.ToString();
if (dag.Length == 1)
{
string temp = dag;
dag = "0" + temp;
}
string maand = DateTime.Now.Month.ToString();
if (maand.Length == 1)
{
string temp = maand;
maand = "0" + temp;
}
if (signature == null)
{
getKey();
}
string datum = dag + "-" + maand + "-" + DateTime.Now.Year.ToString();
CloudBlobClient blobClient = new CloudBlobClient(sUrl, new StorageCredentialsSharedAccessSignature(signature));
CloudBlobContainer blobContainer = blobClient.GetContainerReference(container1);
blobContainer.GetDirectoryReference(sUrl + container1);
CloudBlockBlob blobSAS = new CloudBlockBlob(sUrl + container1 + "/" + directoryname + "/" + datum + "/" + naamBestand,
new StorageCredentialsSharedAccessSignature(signature));
using (var fileStream = System.IO.File.OpenRead(strLocatie))
{
try
{
blobSAS.UploadFromStream(fileStream);
}
catch
{
}
}
File.Delete(strLocatie);
}
catch
{
}
}
そして、インターネット接続がすでにダウンしている場合は、アプリケーションを開始する前に、キャッチは完璧に機能します...