Application Insight Webアプリケーションのログでエラーが表示されていますが、どこに来るのかわかりませんし、アプリやWebで奇妙な動作が見つからないAPI(Web APIを2.0と.NET 4.5、OutputCacheを使用してWeb Api 2 Cache、2つのインスタンスを持つWebアプリケーションのようなアズールでのMongoDB):タスクの例外は検出されませんでした
Aタスクの例外(複数可)は、タスク の待機またはアクセスすることにより、いずれかの観察されませんでしたExceptionプロパティ。結果として、観察されなかった 例外がファイナライザスレッドによって再現されました。オブジェクト参照は ではなく、オブジェクトのインスタンスに設定されています。
私はエラーがどこから来るか、私はあなたにいくつかのサンプルコードが表示されます見つけることができない、私はデータを得るために、私のWeb APIとJavaスクリプトの多くを使用しています:
例コントローラ:
public Task<IActionResult> GetDataFromMyMongoDB(string id){
var data = await _service.GetData(id);
if(data == null)
return BadRequest("Error");
return Ok(data);
}
サービス:
public Task<ICollection<MyDto>> GetData(id)
{
//Check security operations for example, or business login like this:
var data = await _repositoryData.Where(d=>d.Id == id);
//For example, sometimes I do some business logic operations in which
// I use try ... catch (this code is just for show example code)
try
{
var dataToJson = JSON.parse(data);
//Dummy code dataJson to obtain a value of this and changed and update
//to repository
//** Code omited **//
var bool = await _repository.UpdateManyAsync(data);
if(bool == false)
return null;
else
{
//Here I do typical mapper operations from my
//entities to my DTOs
//** Code omited **//
return mappedListDto; // <-- Type: ICollection<MyDto>
}
}
catch(Exception ex)
{
//Log in Elmah
//Elmah stuff code here
//** Code omited **//
return null;
}
}
私のリポジトリは簡単な操作を行うための標準コードであり、単体テストではうまくいきます。何度も問題なく、何度も100人以上のユーザーを使用していますが、ログでは仕事。
私はこれを読み取ったquestionとthis oneでも、私のコードでどのように適用するのか理解できません。私は馬鹿だと感じます。
EDIT:詳細情報:私は最後の12時間でこのタイプの約500例外を得ているが、アプリケーションは、私はおよそ167 Kの要求を持って、最後の12時間で、正常に動作しています。
スタックトレース:
System.AggregateException:
System.NullReferenceException:
at System.Web.ThreadContext.AssociateWithCurrentThread (System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)
at System.Web.HttpApplication.OnThreadEnterPrivate (System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)
at System.Web.HttpApplication.System.Web.Util.ISyncContext.Enter (System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)
at System.Web.Util.SynchronizationHelper.SafeWrapCallback (System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)
at System.Threading.Tasks.Task.Execute (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
任意のアイデア?私はそれに完全に夢中だ...ありがとう!
私には間違いはありません。スタックトレースを投稿してみてください。 –
@JonathanAllen更新しました。興味がありがとう... – chemitaxis
くそー、私はそこに何か役に立つものは見当たりません。私はあなたがデバッガを接続し、何かがそれをトリガすることを期待しなければならないと思う。 –