تور لحظه آخری
امروز : چهارشنبه ، 12 اردیبهشت 1403    احادیث و روایات:  پیامبر اکرم (ص):هر كس به آنچه می ‏داند عمل كند، خداوند دانش آنچه را كه نمی ‏داند به او ارزانى م...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

بلومبارد

تبلیغات متنی

تریدینگ ویو

خرید اکانت اسپاتیفای

کاشت ابرو

لمینت دندان

ونداد کولر

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

تعمیر گیربکس اتوماتیک

دیزل ژنراتور موتور سازان

سرور اختصاصی ایران

سایت ایمالز

تور دبی

سایبان ماشین

جملات زیبا

دزدگیر منزل

ماربل شیت

تشریفات روناک

آموزش آرایشگری رایگان

طراحی سایت تهران سایت

آموزشگاه زبان

اجاره سند در شیراز

ترازوی آزمایشگاهی

رنگ استخری

فروش اقساطی کوییک

راهبند تبریز

ترازوی آزمایشگاهی

قطعات لیفتراک

وکیل تبریز

خرید اجاق گاز رومیزی

آموزش ارز دیجیتال در تهران

شاپیفای چیست

فروش اقساطی ایران خودرو

واردات از چین

قیمت نردبان تاشو

وکیل کرج

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

پراپ تریدینگ معتبر ایرانی

نهال گردو

صنعت نواز

پیچ و مهره

خرید اکانت اسپاتیفای

صنعت نواز

لوله پلی اتیلن

کرم ضد آفتاب لاکچری کوین SPF50

دانلود آهنگ

طراحی کاتالوگ فوری

واردات از چین

اجاره کولر

دفتر شکرگزاری

تسکین فوری درد بواسیر

دانلود کتاب صوتی

تعمیرات مک بوک

قیمت فرش

خرید سی پی ارزان

خرید تجهیزات دندانپزشکی اقساطی

خانه انزلی

تجهیزات ایمنی

رنگ استخری

 






آمار وبسایت

 تعداد کل بازدیدها : 1799196401




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

وب سرویس چیست و چگونه استفاده کنیم؟ (به کمک C#)


واضح آرشیو وب فارسی:سایت ریسک: ahmad_r30-09-2009, 01:50 PMبا سلام محیطی را در نظر بگیرید که شبکه شده است (wireless) می خواهم برنامه ای بنویسم که روی همه سیستمهای شبکه نصب شود ولی اطلاعات آن تنها در یک سیستم (server) ذخیره و از همان، بازیابی شود. تا اونجا که من پرس و جو کردم باید از Web Service استفاده کنم اما نمی دونم چطوری؟؟؟ آیا باید اول برنامه را بنویسم بعد به اون چیزی اضافه کنم تا web service بشه یا اینکه نه از همون اول باید به یه طریق دیگه برنامه نویسی کنم؟ آیا برنامه نصب شده در Client و Server فرق دارد؟ لطفا یه توضیح جامعی راجع به وب سرویس و نحوه استفاده از آن بدهید. (همچنین تکنولوژی Single Tone که فقط اسمشو شنیدم و علی الظاهر در اینجا کاربرد دارد) (زبان برنامه نویسی: سی شارپ) ممنون _H2_30-09-2009, 11:30 PMسلام می خواهم برنامه ای بنویسم که روی همه سیستمهای شبکه نصب شود ولی اطلاعات آن تنها در یک سیستم (server) ذخیره و از همان، بازیابی شود چیزی که شما میخواهید کلاً شامل اصول برنامه نویسی شبکه میشود. برای اجرای شبکه ای برنامه ها میتوان از سوکت ها و NetRemoting (که منسوخ شده) و WCF و وب سرویس و گاها از خود برنامه های بانک اطلععاتی مثل SQLServer استفاده کرد. اگر برنامه شما بانک اطلاعاتی و دیتابیس و جدول و فیلد و... دارد و در برنامه تان قصد به اشتراک گذاری این پایگاه اطلاعات را دارید، بهترین و منطقی ترین و ساده و مطمئن ترین راه شما استفاده از امکانات کارکرد شبکه بانک اطلاعاتی SQLServer است. SQLServer به راحتی میتواند ارتباط از نقاط مختلف کره زمین را به سرور خود مدیزریت کند و از لحاظ برنامه نویس هم فقط باید ConnectionString را اصلاح کنید. باید از Web Service استفاده کنم اما نمی دونم چطوری؟؟؟ آیا باید اول برنامه را بنویسم بعد به اون چیزی اضافه کنم تا web service بشه یا اینکه نه از همون اول باید به یه طریق دیگه برنامه نویسی کنم؟ آیا برنامه نصب شده در Client و Server فرق دارد؟ وب سرویس همانطور که از نامش مشخص است در بستر وب کار میکند، البته این لزوماً به معنی وجود اینترنت نیست. شما باید در سرور برنامه IIS را نصب کنید تا خدمات دهی وب در سرور شما راه اندازی شود، سپس وب سرویس خود را در قالب یک پروژه و پلتفرم ASP.Net طراحی کنید و در نهایت برای کار و اشتراک تحویل IIS بدهید. در سایر کلاینت ها exe و Dll و یا IIS+ASP.Net شما میتوانند از توابع و امکانات این وبسرویس استفاده کنند. طبیعتاً کدنویسی وب سرویس با کدنویسی کلاینت استفاده کنند تفاوت خواهد داشت. دانلود سمپل بسیار ساده: cid-9b 2bdd 1b 12ce8c7d.skydrive.live.com/self.aspx/H2FX.Net/WebService-HelloWorld.zip ahmad_r01-10-2009, 12:21 AMاگر برنامه شما بانک اطلاعاتی و دیتابیس و جدول و فیلد و... دارد و در برنامه تان قصد به اشتراک گذاری این پایگاه اطلاعات را دارید، بهترین و منطقی ترین و ساده و مطمئن ترین راه شما استفاده از امکانات کارکرد شبکه بانک اطلاعاتی SQLServer است. میشه یکم راجع به این جملتون توضیح بدید. (آیا منظورتون اینکه به کمک SQL دیگر نیاز به Web Service نیست؟) یعنی ابتدا SQL را در تمامی سیستم ها نصب کنیم و از طریق شبکه همه را به یک دیتابیس متصل کنیم تا اطلاعات یکجا باشد. (صحیح متوجه شدم؟) می دونم این سوالم یکم ربطی نداره اما ببخشید دیگه... ==> برای اینکه در برنامه ای که از SQL استفاده می کند نیاز به نصب خود SQL نباشد چکار باید کرد. یعنی استفاده از دیتافایل SQL نه MSDB آن ممنون MTPROG01-10-2009, 10:59 AM(آیا منظورتون اینکه به کمک SQL دیگر نیاز به Web Service نیست؟) نه احتیاجی نیست برای اینکه در برنامه ای که از SQL استفاده می کند نیاز به نصب خود SQL نباشد چکار باید کرد. یعنی استفاده از دیتافایل SQL نه MSDB آن برای کار با SQL SERVER تحت شبکه احتیاج به نصب اون فقط تو سرور دارید نه تو سیستمهای دیگه و کارهای مدیریتی و زمانبدی و شبکه و پروتکلها و... توسط SQL SERVER انجام میشه اگر اونو نصب نکنی کی این کارها رو بکنه اگر هم میخوای فقط از فایل بدون نصب استفاده کنی فقط بدرد برنامه های تک کاربره میخوره _H2_01-10-2009, 11:01 AMسلام میشه یکم راجع به این جملتون توضیح بدید. (آیا منظورتون اینکه به کمک SQL دیگر نیاز به Web Service نیست؟) SQLServer جایگزین و مقابل WebService نیست و هر کدام هدف خاصی را دنبال میکنند. اگر شما میخواهید یک بانک اطلاعاتی مشترک داشته باشید که همه کلاینت ها به جداول و فیلدها و رویه ها و مقادیر و... آن دسترسی داشته باشند (مثل یک بان اطلاعاتی پرسنلی یا حتی یک دفتر تلفن (!) و...) نیازی به استفاده از WebService نیست و خواسته شما در محدوده تخصص SQLServer است. یعنی ابتدا SQL را در تمامی سیستم ها نصب کنیم و از طریق شبکه همه را به یک دیتابیس متصل کنیم تا اطلاعات یکجا باشد. (صحیح متوجه شدم؟) تقریباً با این تفاوت که در سایر کلاینت ها و در حالت عادی نیاز به نصب SQLServer نیست و نصب و پیکر بندی SQLServer در رایانه سرور کافی خواهد بود. برای اینکه در برنامه ای که از SQL استفاده می کند نیاز به نصب خود SQL نباشد چکار باید کرد. یعنی استفاده از دیتافایل SQL نه MSDB آن بدون نصب SQLServer اصلاً امکان استفاده از فایل های بانک اطلاعاتی و کلیه قابلیت های مرتبط این نرم افزار وجود ندارد ولی همانطور که گفتم این عمل نصب در سرور حیاتی و اجباری است نه در کلاینت ها. (بحرحال به نظرم نصب SQLSerevr شاید بهتر از نصب IIS باشد !) ( البته برای برنامه های کوچک که نیاز مختصری به SQLServer دارند شما به راحتی میتوانید نسخه SQLServer Express به حجم حدود 40M را در برنامه Setup خودتان بگنجانید و با نصب برنامه توسط کاربر این نسخه بانک اطلاعاتی هم نصب و در برنامه قابل استفاده شود، نتیجه ای که میخواهم بگیرم آن است که نصب SQLServer در رایانه کاربر و مشتری همچین مشکل و مسئله پیچیده و پارامتری منفی در تصمیم گیری نیست. ) ===== (البته زمانی که داشتم اینم مطالب را تایپ میکردم هنوز پست کاربر MTPROG را ندیده بودم) موفق باشید. ahmad_r04-10-2009, 08:59 AMدربرنامه مد نظر من لازم نیست اطلاعاتی جابهجا شو.د بلکه می خواهم دقیقا همان برنامه ای که در سرور هست در سایر برنامه ها هم اجرا شود. آیا این امکان وجود دارد که چیزی شبیه شورت کات برنامه نصب شده در سرور را در دیگر سیستم ها داشته باشیم و از آنجا اجرا کنیم تا اطلاعات هم یکی باشد؟؟؟ _H2_04-10-2009, 11:09 AMسلام دربرنامه مد نظر من لازم نیست اطلاعاتی جابهجا شو.د بلکه می خواهم دقیقا همان برنامه ای که در سرور هست در سایر برنامه ها هم اجرا شود. آیا این امکان وجود دارد که چیزی شبیه شورت کات برنامه نصب شده در سرور را در دیگر سیستم ها داشته باشیم و از آنجا اجرا کنیم تا اطلاعات هم یکی باشد؟؟؟ نخیر اینکار اصلا عقلانی و منطقی و صحیحی نیست. برنامه شما باید در هر کلاینت مجزا نصب شود و فقط دیتابیس مشترک باشد. فقط و فقط در حالی میتوان عمل فوق را به طرز صحیح و منطقی و اصولی انجام داد که از ASP.Net استفاده کنید و در سرور IIS نصب و راه اندازی کنید و کاربران شما مثل مشاده یک سایت از برنامه استفاده کنند. همین سایت را در نظر بگیرید ... شما چیزی نصب نکرده اید ولی به صرف نصب ویندوز و داشتن IE میتوانید این سایت را مشاهده کنید و فرامین و درخواستهایتان را اجرا کنید. ===== پس اگر راه اصولی و منطقی را میخواهید یا باید exe بسازید و در همه رایانه ها جداگانه نصب شود یا باید برنامه شما با ASP.Net و مثل یک سایت نوشته شود و کلاینتها با یک Shortcut به IE و آدرس مورد نظر وارد برنامه تان شوند. تاپیک های مرتبط: (حتماً مطالعه کنید مشکلات مفهومی مشابه ابهام شما در انها مطرح و گفتگو شده.) 244429 256769 249133 موفق باشید. ahmad_r09-10-2009, 08:45 PMبا سلام و عرض تشکر می خواستم ببینید آیا برداشت صحیحی از مطالب دیگر پستها داشته ام یا نه؟ (البته نرسیدم تمام پستها را با دقت بخواندم اما واقعا از آنها استفاده کردم) ابتدا باید یک نسخه از SQL Server رو روی سرور نصب کنم و دیتابیسم را به آن Attach کنم سپس از طریق شبکه (که از لحاظ سخت افزاری مشکلی ندارد) آن را یا به کمک اسم رایانه و یا IP آن در ConnectionString بشناسانم و از آن مثل یک دیتابیس اتچ شده در سیستم خود استفاده کنم (بدون نیاز به نصب SQL Server در سیستم کلاینت) اولا لطف کنید صحت مطلب بالا را برای بنده مشخص کنید... و ثانیا اگر نکته دیگری برای برنامه نویسی شبکه (با پایگاه داده یکسان برای کاربران) لازم است اشاره بفرمائید، مثل username کاربران... البته فکر می کنم اگر همان ConnectionString مربوط به هر حالت (سرور، کلاینت، ورود با نام کاربری) را بیان بفرمائید مشکل دیگری نداشته باشم. لطفا یه توضیحی هم راجع به نحوه به دست آوردن نام سیستم های موجود در شبکه بفرمایید و اینکه آیا روش بهتری برای تشخیص نام سیستم کلاینت، نسبت به روش ورود نام توسط کاربر وجود دارد؟؟؟ با تشکر فراوان _H2_09-10-2009, 09:35 PMسلام اولا لطف کنید صحت مطلب بالا را برای بنده مشخص کنید... بله درست است. ثانیا اگر نکته دیگری برای برنامه نویسی شبکه (با پایگاه داده یکسان برای کاربران) لازم است اشاره بفرمائید فقط باید به ویرایش دیتابیس خود دقت کنید تا با کلاینت های دیگر تداخلی پیش نیاید. برای کارکرد صحیح شبکه بهتر است از AutoNumber بیشتر استفاده کنید تا ... 1) تضمین شود، کلید جداول در چندین INSERT همزمان تداخلی نخواهد داشت 2) تضمین شود کلید حالت ReadOnly دارد و Update و Delete همزمان مشکلی ایجاد نمیکند. تاپیک مرتبط: 345949 البته فکر می کنم اگر همان ConnectionString مربوط به هر حالت (سرور، کلاینت، ورود با نام کاربری) را بیان بفرمائید مشکل دیگری نداشته باشم ConnectionString بدون شبکه: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ConnectionString در شبکه: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! میبینید که همچین فرقی هم نمیکند ! لطفا یه توضیحی هم راجع به نحوه به دست آوردن نام سیستم های موجود در شبکه بفرمایید و اینکه آیا روش بهتری برای تشخیص نام سیستم کلاینت، نسبت به روش ورود نام توسط کاربر وجود دارد؟؟؟ اگر منظورتان را درست فهمیده باشم ... اگر هر کلاینت با username (و احتمالاً password) متفاوتی به سرور متصل شود، در سرور و داخل بانک SQLServer و دستورات T-SQL قابل شناسایی است. ولی اگر username برای دیتابیس و SQLServer برای همه کلاینتها ثابت باشد و خود برنامه نویس منطق user و pass را برای کاربرانش پیاده سازی کرده باشد، طبیعتاً بقیه شناسایی ها هم باید توسط خودش انجام شود. البته به صورت مرسوم معمولاً نیازی به چیزی که شما گفتید وجود ندارد. اگر سوال و مشکلی دارید بیان کنید؟ یعنی چه کاری میخواهید انجام دهید که سوال آخری را بپرسیدید؟ ahmad_r10-10-2009, 06:58 PMروش کار من با کاربران متفاوت، (از لحاظ سطح دسترسی) همان روش دوم اشاره شده توسط شماست یعنی در خود Application این کارو انجام می دهم. فکر می کنم استفاده از سطح دسترسی توسط خود SQL از امنیت و سرعت بالاتری نسبت به برنامه نویسی و کنترل توسط خودمان در برنامه برخوردار است و همچنین به دست آوردن اعمال انجام شده توسط هر فرد (?TransAction) آسانتر خواهد بود. با این وجود من تا به حال از SQL Server با این روش استفاده نکردم امکان دارد در این مورد توضیح دهید؟ (آموزش این روش و این که واقعا کدام روش بهتر است) یعنی چه کاری میخواهید انجام دهید که سوال آخری را بپرسیدید؟ با توجه به آنچه بنده متوجه شدم بعد از تنظیمات SQL Server در کامپیوتر سرور شبکه و نصب Application مورد نظر در تمام رایانه های شبکه، برای ارتباط با دیتابیس موجود در سرور تنها لازم است ConectionString آن صحیح باشد که برای این کار باید نام یا IP سرور در آن باشد. حال می خواستم ببینم غیر از به دست آوردن آن از طریق وارد کردن توسط کاربر برنامه آیا روش کلاسیک تری هم وجود دارد؟ (مثل به دست آوردن نام تمام کامپیوتر های شبکه و نمایش در یک لیست باکس) البته اگر روش ارتباط با دیتا بیس را صحیح متوجه شده باشم خیلی مهم نیست که نام کامپیوتر سرور را کاربر وارد کند یا به طور اتوماتیک اما اگه حالت دوم بشود بهتره. بازم ممنونم..... _H2_11-10-2009, 12:26 AMسلام تا به حال از SQL Server با این روش استفاده نکردم امکان دارد در این مورد توضیح دهید؟ (آموزش این روش و این که واقعا کدام روش بهتر است) در این سیستم هر کاربر واقعاً یک user منحصر به فرد در SQLServer است و در واقع ConnectionString بعد از فرم Login برنامه ساخته میشود. این سیستم امنیت بالاتری دارد ولی طبیعتاً محدودیت های کدنویسی را افزایش میدهد و خود کدهای داخلی برنامه هم نمیتوانند به جدولی user اجازه دسترسی ندارد وصل شوند. حال می خواستم ببینم غیر از به دست آوردن آن از طریق وارد کردن توسط کاربر برنامه آیا روش کلاسیک تری هم وجود دارد؟ (مثل به دست آوردن نام تمام کامپیوتر های شبکه و نمایش در یک لیست باکس) معمولاً چندان فایده ای ندارد، یا چیزی پیدا نمیشود و یا چندین مورد پیدا میشود ! در نهایت باید کاربر آن را تایین کند. این مقدار و تنظیم لزوماً نیازی نیست جلوی چشم باشد و فقط میتواند در اولین اجرا و یا زمانی که برنامه نمیتواند به سرور وصل شود و یا در پنجره تنظیمات برنامه این مقدار دیده شود. اگر DNS درستی هم وجود داشته باشد، میتوان به جای IP از نام رایانه هم استفاده کرد ! sql.site.com ! بحرحال در صورت فعال بودن سرویس Browser دستور زیر احتمال دارد، شاید احتمال کمی دارد بتواند برخی سرورهای در دسترس را پیدا کند: System.Data.Sql.SqlDataSourceEnumerator.GetDataSou rces ولی در کل بهترین روشها هم فایده ای ندارد و بهتر است حتماً ان را آزاد و مشخص از کاربر طلب کنید ! ===== شاید دیالوگ GHNet.Windows.Forms.SqlServerConnectionStringDialo g و یا کنترلر GHNet.Windows.Forms.SqlServerConnectionStringEdito r نمایه قشنگ تر و کاربر پسندتری برای دریافت ConnectionString از کاربر ارائه دهند. بخش مختلف دو ابزار فوق قابل مخفی و نمایان شدن است. نمونه کد: support.h02.ir/fwlink/?LinkId=1001372507 سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2967]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن