PDA

View Full Version : پیاده سازی سیستمی با دو بخش وب و ویندوز



Vahid Faraji
یک شنبه 03 آذر 1392, 13:38 عصر
من می خوام یه سیستم بنویسم که دو بخش داره.
یه بخش که روی وب انجام میشه و شامل یه سری ورود اطلاعات از روی وب هست. این اطلاعات شامل یه سری دیتا بهمراه عکس و فیلم هست.
بخش دوم که یه نرم افزار ویندوزی هست قراره هر روز یه تایم خاصی، این اطلاعات رو از روی وب بخونه و به یه دیتابیس روی سیستم خودش بریزه تا بصورت آفلاین بتونه کار کنه.
اما سوال من:
1.من می خوام یه سرویس بنویسم که اطلاعات رو برگردونه تا نرم افزار ویندوزی بهش وصل بشه و اطلاعات رو بگیره. این سرویس با وب سرویس نوشته بشه بهتره یا wcf؟
2.من عکس و فیلم رو چه جوری روی دیتابیس وب نگه دارم تا نرم افزار ویندوزی روی کلاینت بتونه اونا رو براحتی دریافت کنه.

fakhravari
یک شنبه 03 آذر 1392, 14:30 عصر
عکس که فرمت byte سیو می کنید.و مشکلی نیست در وب و وین
وب سرویس هم میتونی استفاده کنی.
در کل مشکلی نیست.
سوال؟

Vahid Faraji
یک شنبه 03 آذر 1392, 14:40 عصر
ممنون از وقتی که گذاشتید.
منظورتون اینه که عکس رو بصورت varbinary max توی دیتابیس ذخیره کنم؟ اگه اینجوریه حجم دیتابیس بالا بره مشکلی پیش نمیاد؟ منظورم اینه راه بهینه تری نیست؟
WCF باشه بهتر نیست چون برای انتقال data از وب به ویندوز بر روی بستر اینترنت میشه از streaming استفاده کرد و این فکر کنم راه خوبی باشه. اگه شما راه دیگه ای مدنظر داری هم بگید.
بازم ممنون.

fakhravari
یک شنبه 03 آذر 1392, 18:40 عصر
بله بالا میبره ، در غیر اینصورت ذخیره نام فایل.
اگر پروژه یکی و بستر فرق داره. استفاده از کلاس های مشترک پروژه بهتره تا وب سرویس. یعنی کلاس مشتری در 2 تا یکی است.
وب سرویس کار سخت می کنه

raziee
یک شنبه 03 آذر 1392, 22:49 عصر
ممنون از وقتی که گذاشتید.
منظورتون اینه که عکس رو بصورت varbinary max توی دیتابیس ذخیره کنم؟ اگه اینجوریه حجم دیتابیس بالا بره مشکلی پیش نمیاد؟ منظورم اینه راه بهینه تری نیست؟
WCF باشه بهتر نیست چون برای انتقال data از وب به ویندوز بر روی بستر اینترنت میشه از streaming استفاده کرد و این فکر کنم راه خوبی باشه. اگه شما راه دیگه ای مدنظر داری هم بگید.
بازم ممنون.

با فرض بر این که کامپیوتری که نرم افزار تحت ویندوز شما روی آن نصب هست از قدرت پردازش مناسبی برخوردار نیست و امکان اتصال دائم به اینترنت هم نداره(در غیر این صورت میتونید خود سیستم رو به عنوان هاست در نظر بگیرید):
اگر هاستینگ شما امکان استفاده از File Stream رو در دیتابیس نمیده میتونید فایل ها رو در File System ذخیره کنید و در زمان درخواست Win App به Web Server فایل ها رو خونده و به Win Server بفرستید.
اما به نظر من کارفرماتون رو قانع کنید که هزینه های لازمه رو بده و سروری تهیه کنه هم برنامه تحت دسکتاپ شما و هم برنامه تحت وب شما رو پوشش بده.

Vahid Faraji
دوشنبه 04 آذر 1392, 08:35 صبح
با فرض بر این که کامپیوتری که نرم افزار تحت ویندوز شما روی آن نصب هست از قدرت پردازش مناسبی برخوردار نیست و امکان اتصال دائم به اینترنت هم نداره(در غیر این صورت میتونید خود سیستم رو به عنوان هاست در نظر بگیرید):
اگر هاستینگ شما امکان استفاده از File Stream رو در دیتابیس نمیده میتونید فایل ها رو در File System ذخیره کنید و در زمان درخواست Win App به Web Server فایل ها رو خونده و به Win Server بفرستید.
اما به نظر من کارفرماتون رو قانع کنید که هزینه های لازمه رو بده و سروری تهیه کنه هم برنامه تحت دسکتاپ شما و هم برنامه تحت وب شما رو پوشش بده.

ممنون از شما:
اما دو تا سوال: 1. ممکنه هاستینگ امکان استفاده از FileStream رو نده؟ چه جوری میشه فهمید امکانش هست یا نه؟
2. اگر فایل ها رو File System ذخیره کنیم چه جوری می تونیم از Web Server فایل ها رو به نرم افزار ویندوزی روی بستر اینترنت بفرستیم؟

ممنون از شما

Vahid Faraji
دوشنبه 04 آذر 1392, 08:36 صبح
بله بالا میبره ، در غیر اینصورت ذخیره نام فایل.
اگر پروژه یکی و بستر فرق داره. استفاده از کلاس های مشترک پروژه بهتره تا وب سرویس. یعنی کلاس مشتری در 2 تا یکی است.
وب سرویس کار سخت می کنه

از شما هم ممنون.
من منظور شما رو از اینکه گفتید "استفاده از کلاس های مشترک پروژه بهتره تا وب سرویس" رو نفهمیدم و اینکه "وب سرویس کار رو سخت می کنه"

raziee
دوشنبه 04 آذر 1392, 20:48 عصر
1. ممکنه هاستینگ امکان استفاده از FileStream رو نده؟ چه جوری میشه فهمید امکانش هست یا نه؟
این موارد رو می بایست با پیشتیبانی هاستینگتون پیگیری کنید.

اگر فایل ها رو File System ذخیره کنیم چه جوری می تونیم از Web Server فایل ها رو به نرم افزار ویندوزی روی بستر اینترنت بفرستیم؟
اگر در دیتابیس ذخیره کنید میبایست Byte های فایل رو ذخیره کنید و بعد بخونید و ....
حالا شما به جای این که محتوای یک فایل رو بخونید آدرس فایل که در FileSystem است رو خونده و فایل مربوطه رو باز میکنید و محتواش رو بدست میارید.

Vahid Faraji
سه شنبه 05 آذر 1392, 15:57 عصر
اگر در دیتابیس ذخیره کنید میبایست Byte های فایل رو ذخیره کنید و بعد بخونید و ....
حالا شما به جای این که محتوای یک فایل رو بخونید آدرس فایل که در FileSystem است رو خونده و فایل مربوطه رو باز میکنید و محتواش رو بدست میارید.

ممنون از وقتی که می زارید. سوال1: کدوم روش بهتره؟ عکس روی دیتابیس ذخیره بشه بهتره یا اینکه آدرسش تو دیتابیس ذخیره بشه و عکس در FileSystem؟
اون وقت، تکلیف فیلم چی میشه؟ فیلم رو چه جوری باید ذخیره کرد؟

سوال 2: من می خام یه دیتاست در نظر بگیرم. اطلاعات جدید جداول رو روی جداولی توی دیتاست نگه دارم بعد دیتاست رو سمت کلاینت بفرستم. این روش چطوره؟ (می خوام اینو با WCF بنویسم)