1

ASP.NET と JQuery を使用して Web サービスを呼び出すと、500 サーバー エラーが発生します。応答を表示します。

応答の一部:

{"Message":"Object reference not set to an instance of an object.","StackTrace":"  

それをスローする行は次のとおりです。

 db.SaveChanges();

ローカル コンピューターでサイトを実行すると、AWS 上の Windows Server 2012 でのみエラーがスローされます。もう1つは、リモートでデバッグできないことです。

データベースが初期化され、テーブルに追加するデータも初期化されますテーブルに入力されているデータを再確認しましたが、データを手動で入れて確認しましたが、エラーは引き続き発生します。

id変数は関数の引数から取得されます。初期化されていない場合、コードは実行されません。

コード:

 using (siteEntities db = new siteEntities()){
                         {
var c_weekly = (from weekly in db.counters_weekly
    where weekly.product_id == id
    select weekly).SingleOrDefault();

if (c_weekly == null) {
    counters_weekly cw = new counters_weekly();
    cw.count = 0;
    cw.product_id = id;
    cw.year = DateTime.UtcNow.Year;
    cw.week_number = GetIso8601WeekOfYear(DateTime.Now);

    db.counters_weekly.Add(cw);
     db.SaveChanges(); <== THROWS ERROR!!!!

    c_weekly = (from weekly in db.counters_weekly
    where weekly.product_id == id
    select weekly).SingleOrDefault();
}
long weekly_old_count = c_weekly.count;
c_weekly.count = weekly_old_count + Global.DataCounters[id];
db.SaveChanges();
}

エンティティ Framrwork によって生成:

public partial class counters_weekly
{
    public decimal id { get; set; }
    public long product_id { get; set; }
    public int week_number { get; set; }
    public long count { get; set; }
    public int year { get; set; }
}

どんな説明でも。オンラインでデバッグする簡単な方法があれば、私はそれを実行したでしょう。これについて本当にあなたの助けが必要です。ありがとう。

DB:MySQL

サーバー: Windows Server 2012 EC2 AWS

使用: 最新の .NET コネクタ

4

0 に答える 0