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()