PDA

نسخه کامل مشاهده نسخه کامل : Export کردن کل یک صفحه Asp.net بصورت فايل HTML و ذخيره روی سرور



Ultimator
10-01-2008, 16:18
سلام ميخاستم بدونم ميتونين تو Export کردن کل یک صفحه Asp.net بصورت فايل HTML و ذخيره اش روی سرور بهم کمک کنيد تا مثلاً مقالات به جايه اينکه هر بار از Data Base خونده بشن يه فايل استاتيک نشون داده بشه که فشار کمتری روی سرور بياد
فکر کنم بشه با XML و XSLT يکاری کرد

Ultimator
12-01-2008, 18:57
اصلا کسی ساختن Xslt بلده ؟

_H2_
14-01-2008, 11:21
سلام
اگر منظورتان همان کم کردن بار سرور باشد که من متوجه شدم، قبل از شما مایکروسافت فکرش را کرده.
کافیس دایرکتوری OutputCache را به اول صفحه aspx تان اضافه کنید.
مثلاً

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
صفحه را برای تمام کاربران به مدت 10 ثانیه کچ میکند که این کچ بر اساس پارامترهای ورودی از QueryString و Form جداگانه انجام میشود.

یعنی صفحه Index.aspx?i=2 جداگانه و صفحه index.aspx?i=5 هم جداگانه کچ میشود و یک Refresh بعد از پایان 10 ثانیه خواهید داشت.

این فقط یک نمونه است، خودتان میتوانید تنظیمات را به دلخواه و در بهترین حالت ست کنید.

موفق باشید.

Ultimator
14-01-2008, 14:16
اینم روش خوبیه و خودم هم ازش استفاده میکنم ولی من میخوام صفحه استاتیک درست کنم با یه قالب مشخص که با اطلاعات Data Base پر بشه
یا اینکه به کاربر این امکان رو بدم که صفحه جدید ایجاد کنه که قالبش مشخصه و محتویاتش رو کاربر تعیین کنه

_H2_
14-01-2008, 16:24
سلام مجدد

آخه اینها هم زیاد ربطی به "...کل یک صفحه Asp.net بصورت فايل HTML و ذخيره اش ..." ندارد!



اگر چیزی شبیه ارائه وبلاگ با دات نت میخواهید

دو راه مشخص دارید:

1- ساخت یک MasterPage که قالب دور و کلی را مشخص میکند و اجازه ساخت فایلهای جدید aspx در سرور به کاربران (یا Asp یا اینکلودهایی برای دور)



2-ذخیره اطلاعات در بانکی مثل sql server و تخصیص پارامتری صفحه به اعضا

مثلاً به جای

X.com/Page_25.aspx بشود X.com/Page.aspx?i=25

که البته در این حالت هم اگر خیلی دوستدار پارامتری نیستید میتوانید متد RewritePath استفاده کنید که باعث میشود کاربران یک مسیر را در آدرس وارد کنند ولی بدون آنکه متوجه شوند اطلاعات از آدرس دیگری اخذ شود، یک جور Redirect بی سرو صدا!!!!!

مثلاً کار بر مینویسد X.com/Page25.html ولی اطلاعات واقعی از آدرس X.com/Page.aspx?i=25 تامین میشوند... و هیچ کس هم نمیتواند بفهمد چون RewritePath فقط در داخل RAM سرور اتفاق می افتد.

این مشکلتان را حل میکند؟



ذات پر کردن اطلاعات از دیتابیس با صفحات استاتیک مغایرت دارد و یک جوری سوالتان تناقض دارد، چون اطلاعات دیتابیی یعنی دینامیک و قابل تغییر پی نیاز به صفحات دینامیک دارد

Ultimator
20-01-2008, 19:00
با سلام و تشکر بخاطر همه راهنماییهاتون
من میخواهم فایل html بسازم با اطلاعاتی که از DB بگیریم همین ! کار سختی نیست خودم میگردم میذارم شما هم اگه خواستین استفاده کنید ، نمیدونم شاید به نظر شما کار بیهوده ای باشه ولی مزایایی هم داره
احتمالا روششو میذارم بزودی ...

_H2_
21-01-2008, 09:58
سلام
خوب باشه! نتونستم در ضمینه عدم تبدیل به html راضی تان کنم، پس جواب میدهم تا بیش از این جستجو نکنید و کمکی کرده باشم.

دو راه برای رندر و اجرای صفحه aspx یا asp یا php و... و به دست آوردن کد html نهایی و ذخیره آن در محیط دات نت وجود دارد.

در نمونه کدهای زیر فایل html نهایی و خروجی بر روی مسیر C:\renderedfile.html ذخیره شده، که بدیهی است میتوان خروجی را به راحتی روی بانک وفیلد ntext یا (nvarchar(Max هم ذخیره کرد.

1)فقط تحت وب یا شبیه ساز

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

2)تحت وب یا ویندوز

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید.

Ultimator
29-01-2008, 02:24
این اون چیزی نیست که دنبالش بودم در هر صورت ممنون از اینکه سعی کردین جواب بدین