次のエラーを引き起こすいくつかのlinqに問題があります。
実体化された 'System.Decimal' 型から 'System.Boolean' 型への指定されたキャストは無効です。具体化された 'System.DateTime' 型から 'System.Boolean' 型への指定されたキャストは無効です。
これら 2 つのエラーは、ほぼ同時に同じ linq ステートメントで発生します。ステートメントは、結合といくつかの where パラメーターを含むクエリです。
私の調査にはデータの問題が含まれていましたが、データからそれがどのように発生するかはわかりませんが、これに遭遇しました.
具体化された 'System.Guid' 型から 'System.Int32' 型への指定されたキャストは無効です
ObjectContext のスレッドの問題を暗示する
私のコードは、次の設定でサービスから実行されます
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single)]
最近、通話が増加しました。つまり、サービスをより多くのユーザーに開放しました。同時通話数はおそらく 3 倍になりました。
ServiceBehavior についての私の理解は限られているので (いいえ、このコードは書いていません)、確認したいのですが、
私のサービスは複数のスレッドを生成しますか。ObjectContext がスレッド セーフでない場合、上記のリンクと同じ問題が発生します。つまり、複数のスレッドが互いの db コンテキストをオーバーライドします。