ما هي الأذونات التي أحتاج إلى منحها لتشغيل RavendB في وضع الخادم؟
-
26-09-2019 - |
سؤال
أنا أقرأ من خلال منشور مدونة روب آشتون الممتاز على RavendB:http://codeofrob.com/archive/2010/05/09/Ravendb-an-introduction.aspx
وأنا أعمل من خلال الكود كما قرأت. ولكن عندما أحاول إضافة فهرس ، أحصل على خطأ 401. هذا هو الرمز:
class Program
{
static void Main(string[] args)
{
using (var documentStore = new DocumentStore() { Url = "http://localhost:8080" })
{
documentStore.Initialise();
documentStore.DatabaseCommands.PutIndex(
"BasicEntityBySomeData",
new IndexDefinition<BasicEntity, BasicEntity>()
{
Map = docs => from doc in docs
where doc.SomeData != null
select new
{
SomeData = doc.SomeData
},
});
string entityId;
using (var documentSession = documentStore.OpenSession())
{
var entity = new BasicEntity()
{
SomeData = "Hello, World!",
SomeOtherData = "This is just another property",
};
documentSession.Store(entity);
documentSession.SaveChanges();
entityId = entity.Id;
var loadedEntity = documentSession.Load<BasicEntity>(entityId);
Console.WriteLine(loadedEntity.SomeData);
var docs = documentSession.Query<BasicEntity>("BasicEntityBySomeData")
.Where("SomeData:Hello~")
.WaitForNonStaleResults()
.ToArray();
docs.ToList().ForEach(doc => Console.WriteLine(doc.SomeData));
Console.Read();
}
}
}
يلقي خطأ 401 عندما على السطر الذي يجعل مكالمة putIndex (). أي أفكار ما هي الأذونات التي أحتاجها لتقديمها؟ وأين أحتاج إلى تطبيقها؟
المحلول
ماذا تقصد بوضع الخادم؟ هل تقصد ببساطة تنفيذ raven.server؟
لم أكن مضطرًا إلى القيام بأي شيء خاص من جانب العميل للحصول على ذلك ، على الرغم من أنني اضطررت إلى تشغيل Raven.Server بامتيازات مرتفعة لأنني لست متأكدًا من أن الرمز الذي أطلبه عن الأذونات ذات الصلة يعمل تمامًا كما هو مقصود. (في الواقع ، سأقوم برفع استعلام حول ذلك في القائمة البريدية)
يجب ألا تحصل على خطأ 401 إلا إذا قمت بتغيير تكوين Raven.Server.
إذا كنت تقوم بتشغيل الخادم ، فيمكنك تصفحه مباشرة باستخدام عنوان URL المحدد في التكوين (LocalHost: 8080 بشكل افتراضي) - تأكد