亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.NET WebAPI中的無限方法執行(Mongodb反序列化)

ASP.NET WebAPI中的無限方法執行(Mongodb反序列化)

C#
慕尼黑8549860 2022-01-16 15:18:11
簡而言之:默認Console Application項目中的方法工作正常,但在另一個項目(asp.net WebAPI)中相同的方法不起作用。我有兩個 mongoDB 集合,如下所示。主題集合的示例文檔(JSON):{        "_id" : ObjectId("5b9a2637635d16b2a2c5c562"),        "userId" : ObjectId("5b9a23d1a54d26b98f6acf34"),        "name" : "someName",        "notes" : [                {                        "date" : ISODate("2012-11-20T05:05:15.229Z"),                        "title" : "someTitle",                        "body" : "Note body - long teeeeeeext",                        "files" : [ ]                }        ]}用戶集合示例文檔:{        "_id" : ObjectId("5b9a23d1a54d26b98f6acf34"),        "loginName" : "someName",        "pass" : "hashedpassword"}我寫了幾個類(POCO Representation):public class Subject{    [BsonElement("_id")]    public ObjectId Id { get; set; }    [BsonElement("name")]    public string Name { get; set; }    [BsonElement("notes")]    public List<Notes> Notes { get; set; }    [BsonElement("userId")]    public ObjectId UserId { get; set; }}public class Notes{    [BsonElement("date")]    [BsonRepresentation(BsonType.DateTime)]    public DateTime Date { get; set; }    [BsonElement("title")]    public string Title { get; set; }    [BsonElement("body")]    public string Body { get; set; }    [BsonElement("files")]    public List<ObjectId> Files { get; set; }}public class User{    [BsonElement("_id")]    public ObjectId Id { get; set; }    [BsonElement("loginName")]    public string LoginName  { get; set; }    [BsonElement("pass")]    public string HashedPass { get; set; }}
查看完整描述

1 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

是不是死鎖了?如果是這樣,那是因為您混合了異步和非異步代碼,并且在嘗試重新捕獲同步上下文時發生了死鎖。使代碼一直異步。


public async Task<IEnumerable<User>> Get()

{

    List<User> users = await MongoDataModel.Instance.GetUsers(MongoDataModel.Instance.CurrentMongoDB);


    TestMethod();


    return users;

}

有關詳細信息,請參閱標記的副本

您應該使用與 microsoft 相同的命名約定,即返回Task或Task<T>應以Asyncso rename GetUsersto為后綴的任何內容GetUsersAsync。

如果要使用它,請在整個調用堆棧中使用異步。


查看完整回答
反對 回復 2022-01-16
  • 1 回答
  • 0 關注
  • 196 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號