Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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# 通过MyTouch获取数据库名称更改_C#_.net Core_Couchdb_Mycouch - Fatal编程技术网

C# 通过MyTouch获取数据库名称更改

C# 通过MyTouch获取数据库名称更改,c#,.net-core,couchdb,mycouch,C#,.net Core,Couchdb,Mycouch,我需要数据库名称及其在我的应用程序中的更改 这是我的代码: var cancellation = new CancellationTokenSource().Token; var cnInfo = MyCouch.DbConnectionInfo(serverUrl, "_all_dbs"); cnInfo.BasicAuth = authString; cnInfo.Timeout = TimeSpan.FromMilliseconds(System.Threading.Timeout.

我需要数据库名称及其在我的应用程序中的更改

这是我的代码:

var cancellation = new CancellationTokenSource().Token;

var cnInfo = MyCouch.DbConnectionInfo(serverUrl, "_all_dbs");

cnInfo.BasicAuth = authString;

cnInfo.Timeout = TimeSpan.FromMilliseconds(System.Threading.Timeout.Infinite);

var db = new MyCouch.MyCouchClient(cnInfo);
var changes = db.Changes.ObserveContinuous(MyCouch.Requests.GetChangesRequest
               (
                   Feed = MyCouch.ChangesFeed.Continuous,
                   Since = "0",
                   Heartbeat = 999999999, 
                   IncludeDocs = true,
                   Style = MyCouch.ChangesStyle.MainOnly
               ), cancellation).Take(1).Wait();
几分钟后的第一次尝试返回数据库名称,但它会阻止下一次尝试。 我可以通过
获取
http://localhost:5984/_all_dbs

我很确定服务器上有一些数据库

更新: 订阅更改作品:

db.Changes.ObserveContinuous(MyCouch.Requests.GetChangesRequest
               (
                   Feed = MyCouch.ChangesFeed.Continuous,
                   Since = "0",
                   Heartbeat = 999999999, 
                   IncludeDocs = true,
                   Style = MyCouch.ChangesStyle.MainOnly
               ), cancellation).Subscribe(print); //=> the print works.

主要问题似乎是
.Take(1).Wait()
。我希望
.Take(1)
.OnCompleted()
附加到可观察对象,但它似乎没有。有什么建议吗?

在尝试连接到本地主机时,您发现了什么错误或其他问题?@Flimzy:很遗憾,它没有返回任何错误,但应用程序将永远阻塞。@Flimzy:我更新了问题。远程连接也存在同样的问题。您是如何声明取消的?@user3405291:
var cancellation=new CancellationTokenSource().Token()