如何使用Raven.Client.Lightweight删除RavenDB数据库
我已经实现了我认为正确的删除数据库的方法(raven作为服务运行),基于1.2 raven Studio的方法,并将代码移植到windows控制台如何使用Raven.Client.Lightweight删除RavenDB数据库,ravendb,Ravendb,我已经实现了我认为正确的删除数据库的方法(raven作为服务运行),基于1.2 raven Studio的方法,并将代码移植到windows控制台 static class Program { static void Main(string[] args) { try { using (var store = new DocumentStore { ConnectionStringName = "RavenDB" }
static class Program
{
static void Main(string[] args)
{
try
{
using (var store = new DocumentStore { ConnectionStringName = "RavenDB" }.Initialize())
{
var metadata = new RavenJObject();
var factory = store.JsonRequestFactory;
const string url = "http://localhost:8080/admin/databases/raven-products?hard-delete=true";
var credentials = CredentialCache.DefaultCredentials;
var convention = new DocumentConvention();
var requestParams = new CreateHttpJsonRequestParams(store.DatabaseCommands, url, "DELETE", metadata, credentials, convention);
var request = factory.CreateHttpJsonRequest(requestParams);
request.ExecuteRequest();
}
}
catch (Exception exception)
{
Console.WriteLine(exception);
}
Console.WriteLine("Press any key..");
Console.ReadKey();
}
}
执行此代码时,会引发以下异常
System.Net.WebException:远程服务器返回错误:(401)未经授权。
在System.Net.HttpWebRequest.GetResponse()中
在c:\Builds\RavenDB-Unstable-v1.2\Raven.Client.Lightweight\Connection\HttpJsonRequest.cs中的Raven.Client.Connection.HttpJsonRequest.ReadJsonInternal(Func`1 getResponse)处:第297行
在c:\Builds\RavenDB-Unstable-v1.2\Raven.Client.Lightweight\Connection\HttpJsonRequest.cs中的Raven.Client.Connection.HttpJsonRequest.ReadResponseJson()处:第218行
在c:\Builds\RavenDB-Unstable-v1.2\Raven.Client.Lightweight\Connection\HttpJsonRequest.cs中的Raven.Client.Connection.HttpJsonRequest.ExecuteRequest()处:第161行
在c:\code\BuyEfficient\u mvc\Com.BuyEfficient\Com.BuyEfficient.BuyEfficient.Raven.Service.Program.Main(字符串[]args)中
.Service\Program.cs:第39行
我的问题是“如何正确设置凭据,以便对console应用程序进行身份验证”
谢谢,,
斯蒂芬
更新1
更新代码以反映接受的答案 尝试使用
CredentialCache.DefaultCredentials
,或提供计算机上管理员用户的凭据。数据库加载时,我无法删除。相反,我得到了这个System.Net.WebException:操作已超时。