سؤال

نحن نبني CMS.الموقع سيتم بناء وتدار من قبل المستخدمين في صفحات aspx, ولكن نود أن إنشاء موقع ثابت من أتش تي أم أل.الطريقة نقوم به الآن هو مع رمز وجدت هنا أن الزائدة تجعل الأسلوب في صفحة Aspx ويكتب سلسلة HTML إلى ملف.هذا يعمل بشكل جيد على صفحة واحدة ، ولكن الشيء مع CMS هو أننا نريد أن تلقائيا إنشاء بضع صفحات HTML على موقع من البداية حتى قبل أن الخالق قد تعدل أي شيء في النظام.لا أحد يعرف من أي طريقة للقيام بذلك ؟

هل كانت مفيدة؟

المحلول

داعيا Render الطريقة لا تزال بسيطة جدا.مجرد إنشاء مثيل من الصفحة الخاصة بك, إنشاء كعب WebContext جنبا إلى جنب مع WebRequest الكائن استدعاء Render طريقة الصفحة.يمكنك بعد ذلك أن تفعل ما تريد مع النتائج.

بدلا من ذلك, أكتب قليلا curl أو wget سكربت تحميل وتخزين أيهما صفحات كنت تريد أن تجعل ثابت.

نصائح أخرى

يبدو أنني قد وجدت الحل بالنسبة لي problemby باستخدام الملقم.Ecxcute الأسلوب.

لقد وجدت المادة أن demonstared استخدام الأمر:

TextWriter textWriter = new StringWriter();
Server.Execute("myOtherPage.aspx", textWriter);

ثم قمت maniulatons على textWriter ، وأدخله في ملف html.وآخرون فويلا!يعمل!

هل يمكن استخدام wget (أداة سطر الأوامر) إلى الاستعلام بشكل متكرر كل صفحة وحفظها على ملفات html.فإنه تحديث جميع الروابط الضرورية في الناتج html إلى مرجع .ملفات html بدلا من .aspx.بهذه الطريقة, يمكنك رمز موقع الويب الخاص بك كما لو كنت تستخدم server-إنشاء صفحات (أسهل اختبار) ، ومن ثم تحويله إلى صفحات ثابتة.

إذا كنت بحاجة إلى HTML ثابتة لأسباب تتعلق بالأداء فقط ، يفضل استخدام ASP.Net التخزين المؤقت.

أنصحك هل هذه طريقة بسيطة جدا و لا تفعل ذلك في التعليمات البرمجية.وسوف تسمح CMS الخاص بك رمز إلى فعل ما CMS رمز يجب أن تفعل وسوف يبقيه بسيطة بقدر الإمكان.

استخدام منتج مثل HTTrack.أنه يدعو نفسه "موقع ناسخة".فإنه يزحف موقع ويخلق إخراج html.هو سريع و مجاني.يمكنك فقط تشغيل في كل ما تردد هو في رأيك أفضل.

فإنه فصل إخراج HTML الخاص بك يحتاج من CMS تصميم و تنفيذ.فإنه يقلل من تعقيد و يعطيك بعض المرونة في كيفية إخراج HTML دون إدخال نقاط الفشل في CMS الخاص بك التعليمات البرمجية.

@ckarras:أنا لا ترغب في استخدام أداة خارجية ، لأنني أريد صفحات HTML إلى إنشاء برمجيا وليس يدويا.

@jttraino:لا يكون الفاصل الزمني في الموقع يحتاج إلى أن أنتج - في uotput قد تحدث عندما يقوم مستخدم بإنشاء موقع جديد.

@فرانك كروجر:أنا حقا لا أفهم كيفية إنشاء مثيل من الصفحة باستخدام WebContext و WebRequest.

بحثت عن "مجلد مشترك" في searchdotnet, و يجب أن بعد عن .صافي فئة تسمى WebClient.يبدو أن أفعل ما أريد إذا أنا استخدم DownloadString (طريقة) - يحصل على سلسلة من موقع محدد.المشكلة هي أن لدينا CMS يحتاج إلى تسجيل الدخول إلى ، عندما الأسلوب يحاول الوصول إلى الصفحة انها القيت إلى صفحة تسجيل الدخول ، وبالتالي عوائد تسجيل الدخول.aspx HTML...

أي أفكار كيف يمكن أن تستمر من هنا ؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top