سؤال

هل من أحد لديه خبرة في إنشاء المستندة إلى SQL ASP.NET الموقع-خريطة مقدمي الخدمات ؟

لدي الافتراضي ملف XML web.sitemap يعمل بشكل جيد مع بلدي القائمة SiteMapPath ضوابط ، ولكن أنا بحاجة إلى وسيلة لمستخدمي الموقع إلى إنشاء وتعديل الصفحات بشكل ديناميكي.

أنا بحاجة إلى التعادل صفحة عرض الأذونات إلى مستوى ASP.NET نظام العضوية كذلك.

لا يوجد حل صحيح

نصائح أخرى

جيف Prosise النسخة من MSDN مجلة يعمل بشكل جيد جدا, ولكن لديها عدد قليل من العيوب:

AddNode النزوات مع وصلات إلى مواقع أخرى على القائمة الخاصة بك (www.google.com إلخ.)

هنا هو بلدي إصلاح في BuildSiteMap():

SiteMapNode node = GetSiteMapNodeFromReader(reader);
string url = node.Url;
if (url.Contains(":"))
{
    string garbage = Guid.NewGuid().ToString();  // SiteMapNode needs unique URLs
    node.Url = "~/dummy_" + garbage + ".aspx";
    AddNode(node, _root);
    node.Url = url;
}
else
{
    AddNode(node, _root);
}

SQLDependency التخزين المؤقت هو بارد ، ولكن إذا كنت لا ترغب في القيام برحلة إلى DB كل مرة الخاص بك القائمة الأحمال (أن تحقق لمعرفة ما إذا كان التبعية قد تغير) و القوائم الخاصة بك لا تغيير في كثير من الأحيان ، ثم لماذا لا تستخدم HttpRuntime.Cache بدلا من ذلك ؟

public override SiteMapNode RootNode
{
    get
    {
        SiteMapNode temp = (SiteMapNode)HttpRuntime.Cache["SomeKeyName"];
        if (temp == null)
        {
            temp = BuildSiteMap();
            HttpRuntime.Cache.Insert("SomeKeyName", temp, null, DateTime.Now.AddHours(1), Cache.NoSlidingExpiration);
        }
        return temp;
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top