سؤال
هل من أحد لديه خبرة في إنشاء المستندة إلى 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;
}
}