Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么Collection.IMongo.Save()不会返回?_C#_Asp.net Mvc 2_Mongodb - Fatal编程技术网

C# 为什么Collection.IMongo.Save()不会返回?

C# 为什么Collection.IMongo.Save()不会返回?,c#,asp.net-mvc-2,mongodb,C#,Asp.net Mvc 2,Mongodb,我正在使用MongoDB,我正在尝试保存,但它不会返回 这是我的控制器: public ActionResult doSomething(FormCollection collection) { if (collection == null || collection.Count == 0) return View(Tenant); var acct = new Account();

我正在使用MongoDB,我正在尝试保存,但它不会返回

这是我的控制器:

public ActionResult doSomething(FormCollection collection)
        {
           if (collection == null || collection.Count == 0)
                return View(Tenant);

           var acct = new Account();

           var whitelist = new String[]{"Name"};
           TryUpdateModel(acct, whitelist, collection.ToValueProvider());

           Tenant.Name = acct.Name;

           Tenant.Save();              


           return View(Tenant);
        }
这是保存方法:

public override void Save(){
    var acct = Application.Session.GetCollection<Account>();
     acct.Save(this);
 }
public override void Save(){
var acct=Application.Session.GetCollection();
账户保存(本);
}

当它到达acct.Save()行时,它将永远不会返回。有什么线索可以解释为什么会发生这种情况吗?

除非您使用的是安全模式,否则不会返回(嗯,返回null),请参阅:


MongoDB通常就是这样工作的,即默认情况下使用“触发并忘记”方法进行写入/更新。如果您想让应用程序阻塞或等待结果,那么安全模式或写关注点方法就在那里,您可以这样做

问题是我试图使用DateTime将数据存储为MongoObject,但 MongoDB只有以下数据类型:

整数(32位有符号值) 长(64位有符号值) 双精度(64位IEEE754 fp值) 串


这并不是说我期望一个值,而是当我调用该方法时,程序会“冻结”,就像它被卡在一个无限循环中一样。啊,好吧-我有点误解了,至少可以说,我的C#知识是基本的,但没有更多关于所用方法和视图的信息(TryUpdateModel和返回值)很难对问题的来源发表评论。毕竟我发现了问题所在,这是因为我在.cs文件中使用了TimeSpan作为我的一个变量,Mongo不喜欢这一点很酷-请随意回答您自己的问题,并提供一些细节,我会很高兴地投赞成票:)