تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 11

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

  1. #1
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

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

    با سلام

    محیطی را در نظر بگیرید که شبکه شده است (wireless) می خواهم برنامه ای بنویسم که روی همه سیستمهای شبکه نصب شود ولی اطلاعات آن تنها در یک سیستم (server) ذخیره و از همان، بازیابی شود.

    تا اونجا که من پرس و جو کردم باید از Web Service استفاده کنم اما نمی دونم چطوری؟؟؟

    آیا باید اول برنامه را بنویسم بعد به اون چیزی اضافه کنم تا web service بشه یا اینکه نه از همون اول باید به یه طریق دیگه برنامه نویسی کنم؟
    آیا برنامه نصب شده در Client و Server فرق دارد؟

    لطفا یه توضیح جامعی راجع به وب سرویس و نحوه استفاده از آن بدهید.
    (همچنین تکنولوژی Single Tone که فقط اسمشو شنیدم و علی الظاهر در اینجا کاربرد دارد)

    (زبان برنامه نویسی: سی شارپ)

    ممنون

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    می خواهم برنامه ای بنویسم که روی همه سیستمهای شبکه نصب شود ولی اطلاعات آن تنها در یک سیستم (server) ذخیره و از همان، بازیابی شود
    چیزی که شما میخواهید کلاً شامل اصول برنامه نویسی شبکه میشود.
    برای اجرای شبکه ای برنامه ها میتوان از سوکت ها و NetRemoting (که منسوخ شده) و WCF و وب سرویس و گاها از خود برنامه های بانک اطلععاتی مثل SQLServer استفاده کرد.

    اگر برنامه شما بانک اطلاعاتی و دیتابیس و جدول و فیلد و... دارد و در برنامه تان قصد به اشتراک گذاری این پایگاه اطلاعات را دارید، بهترین و منطقی ترین و ساده و مطمئن ترین راه شما استفاده از امکانات کارکرد شبکه بانک اطلاعاتی SQLServer است.

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

    باید از Web Service استفاده کنم اما نمی دونم چطوری؟؟؟
    آیا باید اول برنامه را بنویسم بعد به اون چیزی اضافه کنم تا web service بشه یا اینکه نه از همون اول باید به یه طریق دیگه برنامه نویسی کنم؟
    آیا برنامه نصب شده در Client و Server فرق دارد؟
    وب سرویس همانطور که از نامش مشخص است در بستر وب کار میکند، البته این لزوماً به معنی وجود اینترنت نیست.
    شما باید در سرور برنامه IIS را نصب کنید تا خدمات دهی وب در سرور شما راه اندازی شود، سپس وب سرویس خود را در قالب یک پروژه و پلتفرم ASP.Net طراحی کنید و در نهایت برای کار و اشتراک تحویل IIS بدهید.

    در سایر کلاینت ها exe و Dll و یا IIS+ASP.Net شما میتوانند از توابع و امکانات این وبسرویس استفاده کنند.

    طبیعتاً کدنویسی وب سرویس با کدنویسی کلاینت استفاده کنند تفاوت خواهد داشت.

    دانلود سمپل بسیار ساده:
    cid-9b2bdd1b12ce8c7d.skydrive.live.com/self.aspx/H2FX.Net/WebService-HelloWorld.zip

  3. #3
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض


    اگر برنامه شما بانک اطلاعاتی و دیتابیس و جدول و فیلد و... دارد و در برنامه تان قصد به اشتراک گذاری این پایگاه اطلاعات را دارید، بهترین و منطقی ترین و ساده و مطمئن ترین راه شما استفاده از امکانات کارکرد شبکه بانک اطلاعاتی SQLServer است.
    میشه یکم راجع به این جملتون توضیح بدید. (آیا منظورتون اینکه به کمک SQL دیگر نیاز به Web Service نیست؟)
    یعنی ابتدا SQL را در تمامی سیستم ها نصب کنیم و از طریق شبکه همه را به یک دیتابیس متصل کنیم تا اطلاعات یکجا باشد. (صحیح متوجه شدم؟)

    می دونم این سوالم یکم ربطی نداره اما ببخشید دیگه... ==> برای اینکه در برنامه ای که از SQL استفاده می کند نیاز به نصب خود SQL نباشد چکار باید کرد. یعنی استفاده از دیتافایل SQL نه MSDB آن

    ممنون
    Last edited by ahmad_r; 01-10-2009 at 00:26.

  4. #4
    اگه نباشه جاش خالی می مونه MTPROG's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    شهر 3500 ساله
    پست ها
    432

    پيش فرض

    (آیا منظورتون اینکه به کمک SQL دیگر نیاز به Web Service نیست؟)
    نه احتیاجی نیست


    برای اینکه در برنامه ای که از SQL استفاده می کند نیاز به نصب خود SQL نباشد چکار باید کرد. یعنی استفاده از دیتافایل SQL نه MSDB آن
    برای کار با SQL SERVER تحت شبکه احتیاج به نصب اون فقط تو سرور دارید نه تو سیستمهای دیگه
    و کارهای مدیریتی و زمانبدی و شبکه و پروتکلها و... توسط SQL SERVER انجام میشه اگر اونو نصب نکنی کی این کارها رو بکنه

    اگر هم میخوای فقط از فایل بدون نصب استفاده کنی فقط بدرد برنامه های تک کاربره میخوره

  5. #5
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    میشه یکم راجع به این جملتون توضیح بدید. (آیا منظورتون اینکه به کمک SQL دیگر نیاز به Web Service نیست؟)
    SQLServer جایگزین و مقابل WebService نیست و هر کدام هدف خاصی را دنبال میکنند.
    اگر شما میخواهید یک بانک اطلاعاتی مشترک داشته باشید که همه کلاینت ها به جداول و فیلدها و رویه ها و مقادیر و... آن دسترسی داشته باشند (مثل یک بان اطلاعاتی پرسنلی یا حتی یک دفتر تلفن (!) و...) نیازی به استفاده از WebService نیست و خواسته شما در محدوده تخصص SQLServer است.

    یعنی ابتدا SQL را در تمامی سیستم ها نصب کنیم و از طریق شبکه همه را به یک دیتابیس متصل کنیم تا اطلاعات یکجا باشد. (صحیح متوجه شدم؟)
    تقریباً با این تفاوت که در سایر کلاینت ها و در حالت عادی نیاز به نصب SQLServer نیست و نصب و پیکر بندی SQLServer در رایانه سرور کافی خواهد بود.

    برای اینکه در برنامه ای که از SQL استفاده می کند نیاز به نصب خود SQL نباشد چکار باید کرد. یعنی استفاده از دیتافایل SQL نه MSDB آن
    بدون نصب SQLServer اصلاً امکان استفاده از فایل های بانک اطلاعاتی و کلیه قابلیت های مرتبط این نرم افزار وجود ندارد ولی همانطور که گفتم این عمل نصب در سرور حیاتی و اجباری است نه در کلاینت ها.
    (بحرحال به نظرم نصب SQLSerevr شاید بهتر از نصب IIS باشد !)


    (
    البته برای برنامه های کوچک که نیاز مختصری به SQLServer دارند شما به راحتی میتوانید نسخه SQLServer Express به حجم حدود 40M را در برنامه Setup خودتان بگنجانید و با نصب برنامه توسط کاربر این نسخه بانک اطلاعاتی هم نصب و در برنامه قابل استفاده شود، نتیجه ای که میخواهم بگیرم آن است که نصب SQLServer در رایانه کاربر و مشتری همچین مشکل و مسئله پیچیده و پارامتری منفی در تصمیم گیری نیست.
    )

    =====

    (البته زمانی که داشتم اینم مطالب را تایپ میکردم هنوز پست کاربر MTPROG را ندیده بودم)
    موفق باشید.
    Last edited by _H2_; 01-10-2009 at 11:03.

  6. #6
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض

    دربرنامه مد نظر من لازم نیست اطلاعاتی جابهجا شو.د بلکه می خواهم دقیقا همان برنامه ای که در سرور هست در سایر برنامه ها هم اجرا شود.

    آیا این امکان وجود دارد که چیزی شبیه شورت کات برنامه نصب شده در سرور را در دیگر سیستم ها داشته باشیم و از آنجا اجرا کنیم تا اطلاعات هم یکی باشد؟؟؟

  7. #7
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    دربرنامه مد نظر من لازم نیست اطلاعاتی جابهجا شو.د بلکه می خواهم دقیقا همان برنامه ای که در سرور هست در سایر برنامه ها هم اجرا شود.

    آیا این امکان وجود دارد که چیزی شبیه شورت کات برنامه نصب شده در سرور را در دیگر سیستم ها داشته باشیم و از آنجا اجرا کنیم تا اطلاعات هم یکی باشد؟؟؟
    نخیر اینکار اصلا عقلانی و منطقی و صحیحی نیست.
    برنامه شما باید در هر کلاینت مجزا نصب شود و فقط دیتابیس مشترک باشد.

    فقط و فقط در حالی میتوان عمل فوق را به طرز صحیح و منطقی و اصولی انجام داد که از ASP.Net استفاده کنید و در سرور IIS نصب و راه اندازی کنید و کاربران شما مثل مشاده یک سایت از برنامه استفاده کنند.
    همین سایت را در نظر بگیرید ...
    شما چیزی نصب نکرده اید ولی به صرف نصب ویندوز و داشتن IE میتوانید این سایت را مشاهده کنید و فرامین و درخواستهایتان را اجرا کنید.

    =====

    پس اگر راه اصولی و منطقی را میخواهید یا باید exe بسازید و در همه رایانه ها جداگانه نصب شود یا باید برنامه شما با ASP.Net و مثل یک سایت نوشته شود و کلاینتها با یک Shortcut به IE و آدرس مورد نظر وارد برنامه تان شوند.

    تاپیک های مرتبط: (حتماً مطالعه کنید مشکلات مفهومی مشابه ابهام شما در انها مطرح و گفتگو شده.)
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    موفق باشید.

  8. #8
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض

    با سلام و عرض تشکر
    می خواستم ببینید آیا برداشت صحیحی از مطالب دیگر پستها داشته ام یا نه؟ (البته نرسیدم تمام پستها را با دقت بخواندم اما واقعا از آنها استفاده کردم)
    ابتدا باید یک نسخه از SQL Server رو روی سرور نصب کنم و دیتابیسم را به آن Attach کنم سپس از طریق شبکه (که از لحاظ سخت افزاری مشکلی ندارد) آن را یا به کمک اسم رایانه و یا IP آن در ConnectionString بشناسانم و از آن مثل یک دیتابیس اتچ شده در سیستم خود استفاده کنم (بدون نیاز به نصب SQL Server در سیستم کلاینت)

    اولا لطف کنید صحت مطلب بالا را برای بنده مشخص کنید...

    و ثانیا اگر نکته دیگری برای برنامه نویسی شبکه (با پایگاه داده یکسان برای کاربران) لازم است اشاره بفرمائید، مثل username کاربران...

    البته فکر می کنم اگر همان ConnectionString مربوط به هر حالت (سرور، کلاینت، ورود با نام کاربری) را بیان بفرمائید مشکل دیگری نداشته باشم.

    لطفا یه توضیحی هم راجع به نحوه به دست آوردن نام سیستم های موجود در شبکه بفرمایید و اینکه آیا روش بهتری برای تشخیص نام سیستم کلاینت، نسبت به روش ورود نام توسط کاربر وجود دارد؟؟؟




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

  9. #9
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اولا لطف کنید صحت مطلب بالا را برای بنده مشخص کنید...
    بله درست است.

    ثانیا اگر نکته دیگری برای برنامه نویسی شبکه (با پایگاه داده یکسان برای کاربران) لازم است اشاره بفرمائید
    فقط باید به ویرایش دیتابیس خود دقت کنید تا با کلاینت های دیگر تداخلی پیش نیاید.
    برای کارکرد صحیح شبکه بهتر است از AutoNumber بیشتر استفاده کنید تا ...
    1) تضمین شود، کلید جداول در چندین INSERT همزمان تداخلی نخواهد داشت
    2) تضمین شود کلید حالت ReadOnly دارد و Update و Delete همزمان مشکلی ایجاد نمیکند.
    تاپیک مرتبط:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    البته فکر می کنم اگر همان ConnectionString مربوط به هر حالت (سرور، کلاینت، ورود با نام کاربری) را بیان بفرمائید مشکل دیگری نداشته باشم
    ConnectionString بدون شبکه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ConnectionString در شبکه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    میبینید که همچین فرقی هم نمیکند !


    لطفا یه توضیحی هم راجع به نحوه به دست آوردن نام سیستم های موجود در شبکه بفرمایید و اینکه آیا روش بهتری برای تشخیص نام سیستم کلاینت، نسبت به روش ورود نام توسط کاربر وجود دارد؟؟؟
    اگر منظورتان را درست فهمیده باشم ...
    اگر هر کلاینت با username (و احتمالاً password) متفاوتی به سرور متصل شود، در سرور و داخل بانک SQLServer و دستورات T-SQL قابل شناسایی است.

    ولی اگر username برای دیتابیس و SQLServer برای همه کلاینتها ثابت باشد و خود برنامه نویس منطق user و pass را برای کاربرانش پیاده سازی کرده باشد، طبیعتاً بقیه شناسایی ها هم باید توسط خودش انجام شود.

    البته به صورت مرسوم معمولاً نیازی به چیزی که شما گفتید وجود ندارد.
    اگر سوال و مشکلی دارید بیان کنید؟ یعنی چه کاری میخواهید انجام دهید که سوال آخری را بپرسیدید؟

  10. #10
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض

    روش کار من با کاربران متفاوت، (از لحاظ سطح دسترسی) همان روش دوم اشاره شده توسط شماست یعنی در خود Application این کارو انجام می دهم.

    فکر می کنم استفاده از سطح دسترسی توسط خود SQL از امنیت و سرعت بالاتری نسبت به برنامه نویسی و کنترل توسط خودمان در برنامه برخوردار است و همچنین به دست آوردن اعمال انجام شده توسط هر فرد (?TransAction) آسانتر خواهد بود.
    با این وجود من تا به حال از SQL Server با این روش استفاده نکردم امکان دارد در این مورد توضیح دهید؟ (آموزش این روش و این که واقعا کدام روش بهتر است)

    یعنی چه کاری میخواهید انجام دهید که سوال آخری را بپرسیدید؟
    با توجه به آنچه بنده متوجه شدم بعد از تنظیمات SQL Server در کامپیوتر سرور شبکه و نصب Application مورد نظر در تمام رایانه های شبکه، برای ارتباط با دیتابیس موجود در سرور تنها لازم است ConectionString آن صحیح باشد که برای این کار باید نام یا IP سرور در آن باشد. حال می خواستم ببینم غیر از به دست آوردن آن از طریق وارد کردن توسط کاربر برنامه آیا روش کلاسیک تری هم وجود دارد؟ (مثل به دست آوردن نام تمام کامپیوتر های شبکه و نمایش در یک لیست باکس)

    البته اگر روش ارتباط با دیتا بیس را صحیح متوجه شده باشم خیلی مهم نیست که نام کامپیوتر سرور را کاربر وارد کند یا به طور اتوماتیک اما اگه حالت دوم بشود بهتره.

    بازم ممنونم.....

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •