ورود

View Full Version : دسترسی به کلاس موجود در وب



aghayex
چهارشنبه 11 دی 1392, 22:08 عصر
با سلام
من یه کلاس دارم در asp پروژه سیلورلایت که جزء مدل دیتابیس نیست و طبیعتا براش کلاسی از نوع ریا سرویس درست نکردم و حالا می خوام در پروژه سیلورلایت در اون استفاده کنم , اما هر کاری می کنم نمی تونم این کلاس رو در پروژه سیلورلایت ببینم ولی برا کلاس های مدل که کلاس ریا براشون درست کردم رو میشه در پروژه سیلورلایت دید

taghvajou
جمعه 13 دی 1392, 23:35 عصر
سلام
یه تابع الکی درست کن و اون کلاس رو ازش تو اون تابع استفاده کن

amamam
شنبه 14 دی 1392, 20:25 عصر
سلام
یه راهی که می تونی از کلاس استفاده کنی اینه که یه پروژه Silverlight Class Library ایجاد کنی و کلاس رو داخل اون تعریف کنی بعد به پروژه وب و پروژه مربوط به کلاینت اضافه کنی . البته با این کار کامپایلر یه هشدار بهت میده ولی کارت راه میفته - در ضمن انجام این کار یه سری محدودیت داره مثلا نباید پروژه جدید که ایجاد می کنی dll هایی داشته باشه که با پروژه هایی که به اون ها اضافه میشه، ایجا د تداخل کنه.

aghayex
یک شنبه 15 دی 1392, 16:45 عصر
یه تابع الکی درست کن و اون کلاس رو ازش تو اون تابع استفاده کن
نخواستم یه کلاس رو در دو جا تعریف کنم ( اینو یه طور کثیف کاری می دونم ) اما اگه راه حلی براش پیدا نکنم این کارو انجام میدم

d_derakhshani
پنج شنبه 19 دی 1392, 19:35 عصر
نخواستم یه کلاس رو در دو جا تعریف کنم ( اینو یه طور کثیف کاری می دونم ) اما اگه راه حلی براش پیدا نکنم این کارو انجام میدم
جوابی آقای taghvajou (http://barnamenevis.org/member.php?69359-taghvajou) دادن ارتباطی به تعریف دوگانه کلاس نداره و درسته.

aghayex
جمعه 20 دی 1392, 09:53 صبح
این مشکلو حل کردم
به این صورت که کلاس رو از شی complexobject ارث می بری و خود کلاس رو به [DataMember] مقید می کنی و تمام پروپرتی های کلاست رو هم به [DataContract] می کنی .
حالا با این کار شما می تونی کلاسی که در وب برنامه تعریف کردی رو سمت سیلورلایت ببینی .
اگه بخواهی یه متد داشته باشی که مقادیری رو طبق این کلاس برات در ریا سرویس برگردونه باید دو کار اضافه هم انجام بدی :
1 = اون متد رو به [Invoke] مقد کنی
2 = نوع متد ریا سرویس رو از iqueryable به ienumerable تغیر بدید .

d_derakhshani
شنبه 05 بهمن 1392, 00:06 صبح
مسلما علم شما بالاتر رفت!

aghayex
شنبه 05 بهمن 1392, 07:19 صبح
مسلما علم شما بالاتر رفت!
منظورتون رو متوجه نشدم:متفکر:

d_derakhshani
شنبه 05 بهمن 1392, 09:34 صبح
همین توضیحاتی که دادید که بقیه هم بدونن. مسلما تا قبلش نمی دونستید و طی این مشکل بهش رسیدید و موجب افزایش عمل شما شده. و ایشاالله برای کسایی هم که نمی دونن مورد استفاده قرار بگیره.
این خیلی اخلاق خوبیه که افراد وقتی به جوابشون میرسن جواب رو بزارن خیلی ها وقتی به جواب میرسن فقط میگن مرسی مشکلم حل شد!