PDA

View Full Version : سوال: نحوه کار با Database آنلاین



barman.ar16
جمعه 19 آبان 1396, 23:50 عصر
سلام دوستان و اساتید گرامی
من با سی شارپ کار می کنم و تا بحال برنامه های ویندوزی زیادی نوشتم که همگی با دیتابیس sqlite بودن و همگی در واقع آفلاین بودن اما الان نیاز پیدا کردم به اینکه یک برنامه ام رو بصورت آنلاین بنویسم در واقع می خوام عملیات خواندن و نوشتن رو روی یک دیتابیس آنلاین انجام بدم تا بتونم از طریق چند تا برنامه که روی سیستم های جداگانه و با فاصله مکانی مختلف هستند ارتباط برقرار کنم ... خب این رو بگم که من در حد راه اندازی یه سایت ساده و با مفاهیمی مثل دامنه و هاست آشنایی دارم اما خب این قضیه خیلی متفاوت هست و ممنون میشم اگر کسی میتونه بصورت کلی راهنمایی که برای انجام این کار به چه چیزهایی نیاز دارم

خودم جستجو کردم اما بیشتر گمراه شدم ... یکی میگفت میشه یه هاست لینوکسی خرید و با دیتابیس mysql کار کرد بدین صورت که کار نوشتن و خوندن روی دیتابیس mysql رو با یک ip ثابت انجام داد یکی دیگه میگفتباید حتما سرور خریداری بشه و روی هاست نمیشه اینکار رو کرد ... در کل به نتیجه ای نرسیدم ممنون میشم اگر کسی میتونه کلیات این قضیه رو برام بگه و مقرون به صرفه ترین روش رو اشاره کنه

متشکرم

shahryari
شنبه 20 آبان 1396, 11:36 صبح
سلام
یه راهش اتصال مستقیم با کانکتور mysql که مزایا و معایب خودشو داره
یه راهش هم وب سرویسه

barman.ar16
شنبه 20 آبان 1396, 11:41 صبح
سلام
یه راهش اتصال مستقیم با کانکتور mysql که مزایا و معایب خودشو داره
یه راهش هم وب سرویسه

ممنون از پاسخ گویی تان ...
اگر لطف کنید و بیشتر توضیح بدید تا کمی روشنتر بشم ممنون میشم
سپاس

barman.ar16
شنبه 20 آبان 1396, 16:25 عصر
دوستان و اساتید لطفا راهنمایی کنید
هر کسی اطلاعاتی داره و میتونه کمک کنه لطفا دریغ نکنه
متشکرم

حسین.کاظمی
شنبه 20 آبان 1396, 17:18 عصر
سلام
اگر فقط کار با دیتابیس و کاری به آنلاین و بودن رنگ و لعاب صفحات وب ندارید یعنی هدفتون طراحی صفحات وب نیست و فقط فقط میخایید اطلاعات را بخونید یا وارد بانک کنید و از طریق برنامه های ویندوزی استفاده کنید نظر من را اگر میخایید من میگم از وب سرویس استفاده کنید.

sara_aryanfar
شنبه 20 آبان 1396, 17:35 عصر
بهترین و حرفه ای ترین راه استفاده ار وب سرویس می باشد راه هی دیگر که گفته شده به صورت اتصال مستقیم و غیره امنیت دیتای شما رو به خطر میندازه

barman.ar16
شنبه 20 آبان 1396, 18:10 عصر
دوستان ممنون بابت پاسخ گویی تان

حال اینکه من اصلا با این مقوله وب سرویس آشنایی ندارم میشه راهنمایی کنید از کجا میتونم آشنا بشم (اگر آموزش خوبی دارید معرفی کنید ممنون میشم)پ

در نهایت یه سوال دیگه که مربوط به همین قضیه هست
من بعدا میخوام یک اپلیکیشن اندرویدی رو هم به همین دیتابیسی که گفتم متصل کنم

در واقع به این شکل میشه که من میخوام برای نمایندگان توی شهرهام برنامه ی ویندوزی بزنم که بتونن گزارش گیری های خودشون رو انجام بدن و به دیتابیس آنلاین متصل باشن و اپلیکیشن رو برای کاربرای عادی بگذارم
در کل ساز و کار به این شکل هست که کاربرا بوسیله اپ اندرویدی یک سری درخواست ثبت می کنن که اطلاعات درخواست ها میاد توی دیتابیس انلاین مینشینه و بعد نماینده ها با برنامه ویندوزی همون درخواست ها رو بررسی می کنن و بهشون رسیدگی می کنن

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

متشکر از همه دوستان

حسین.کاظمی
یک شنبه 21 آبان 1396, 19:55 عصر
سلام مجدد:لبخند:
یه توضیح خیلی مختصر درمورد وب سرویس بگم
وب سرویس را به عنوان یک واسط همیشه در دسترس و حاضر، فرض کن؛ که کنارش یک بانک اطلاعاتی داره هرزمانی و از هرطریقی درخواست بهش بدی جوابتو میده....
حالا منظورم اینکه شما در کنار یک وب سرویس یک بانک اطلاعاتی دارید و می تونید اطلاعاتش را از هر بستری چه ویندوز فرم،وب فرم،آندورید و.... فراخوانی کنید.:متفکر::لبخند::لبخند:

خب برای اینکه گیچ و سردرگم نشی یه نمونه (http://s9.picofile.com/file/8311631618/sample_webService.rar.html)فرم لاگین خیلی ساده از طریق وب سرویس میزارم تا ازش ایده بگیری :لبخند::چشمک:

*توجه داشته باش که قبل از اجرای ویندوز فرم حتما وب سرویس را اجرا کنی

رامین مرادی
دوشنبه 22 آبان 1396, 11:11 صبح
سلام مجدد:لبخند:
یه توضیح خیلی مختصر درمورد وب سرویس بگم
وب سرویس را به عنوان یک واسط همیشه در دسترس و حاضر، فرض کن؛ که کنارش یک بانک اطلاعاتی داره هرزمانی و از هرطریقی درخواست بهش بدی جوابتو میده....
حالا منظورم اینکه شما در کنار یک وب سرویس یک بانک اطلاعاتی دارید و می تونید اطلاعاتش را از هر بستری چه ویندوز فرم،وب فرم،آندورید و.... فراخوانی کنید.:متفکر::لبخند::لبخند:

خب برای اینکه گیچ و سردرگم نشی یه نمونه (http://s9.picofile.com/file/8311631618/sample_webService.rar.html)فرم لاگین خیلی ساده از طریق وب سرویس میزارم تا ازش ایده بگیری :لبخند::چشمک:

*توجه داشته باش که قبل از اجرای ویندوز فرم حتما وب سرویس را اجرا کنی

من با wcf تونستم برا اولین بار وب سرویسی رو که خودم نوشتم رو اجرا و نتیجه بگیرم.اما تو قسمتی که قراره ببرم رو iis ویندوز موندم. کاش این قسمت رو هم توضیح بدید

barman.ar16
دوشنبه 22 آبان 1396, 19:44 عصر
من هم یه نگاه به پروژه ای که دوستمون گذاشتند کردم متاسفانه چون اطلاعاتی در موردش ندارم متوجه نشدم چطوری این کار انجام شده خودم هم جستجو کردم اما متاسفانه آموزش خوبی پیدا نکردم
لطفا اگر آموزش خوبی میشناسید که میتونه من رو از نگرانی در بیاره ممنونم میشم بفرمائید
دقیقا چند تا پروژه پیش رو دارم که همگی گیر همین قضیه هستند یعنی (( ثبت اطلاعات روی دیتابیس آنلاین از طریق نرم افزار ویندوزی و سی شارپ و خواندن اطلاعات بوسیله یک نرم افزار اندرویدی از روی همون دیتابیس آنلاین))
بی صبرانه منتظر راهنمایی شما دوستان و اساتید عزیز خواهم بود
سپاس

samiasoft
دوشنبه 22 آبان 1396, 20:43 عصر
من هم یه نگاه به پروژه ای که دوستمون گذاشتند کردم متاسفانه چون اطلاعاتی در موردش ندارم متوجه نشدم چطوری این کار انجام شده خودم هم جستجو کردم اما متاسفانه آموزش خوبی پیدا نکردم
لطفا اگر آموزش خوبی میشناسید که میتونه من رو از نگرانی در بیاره ممنونم میشم بفرمائید
دقیقا چند تا پروژه پیش رو دارم که همگی گیر همین قضیه هستند یعنی (( ثبت اطلاعات روی دیتابیس آنلاین از طریق نرم افزار ویندوزی و سی شارپ و خواندن اطلاعات بوسیله یک نرم افزار اندرویدی از روی همون دیتابیس آنلاین))
بی صبرانه منتظر راهنمایی شما دوستان و اساتید عزیز خواهم بود
سپاس

ببنید دوست عزیز برای اینکه بتونید به دیتابیس انلاین در برنامتون وصل بشید نیاز است که درکنار سی شارپ یکی از زبان های تحت وب ینی asp یا php هم بلد باشید.

در مورد asp که دوستمون جناب کاظمی نمونه مثالی قرار دادند.

من چون با php بیشتر سروکار دارم برا همین یه توضیح کلی در اینباره میدم :

شما داخل هاستتون دیتابیس mysql میسازید...سپس یک فایل php که داخلش دستورات اتصال به دیتابیس با pdo رو مینویسید و با دستور select اطلاعات موردنظر رو از جدول دریافت میکنید...برای نمایش اون هم میتونید بصورت xml یا json استفاده کنید....حال این اطلاعات رو در سی شارپ تجزیه میکنید و در داخل دیتاگرید یا...میتوانید نمایش بدید.


اگر در مورد این بصورت بخش بخش جستجو کنید نمونه سورس کد خواهید یافت به هدفتون خواهید رسید.

سایت دانشجویار رو هم یه نگاهی بندازید داخلش اموزشش به رایگان هست.

همچنین یک نمونه سایت هم که برای خرید اموزشش برایتان ارسال کردم

حسین.کاظمی
پنج شنبه 25 آبان 1396, 19:11 عصر
من هم یه نگاه به پروژه ای که دوستمون گذاشتند کردم متاسفانه چون اطلاعاتی در موردش ندارم متوجه نشدم چطوری این کار انجام شده خودم هم جستجو کردم اما متاسفانه آموزش خوبی پیدا نکردم
لطفا اگر آموزش خوبی میشناسید که میتونه من رو از نگرانی در بیاره ممنونم میشم بفرمائید
دقیقا چند تا پروژه پیش رو دارم که همگی گیر همین قضیه هستند یعنی (( ثبت اطلاعات روی دیتابیس آنلاین از طریق نرم افزار ویندوزی و سی شارپ و خواندن اطلاعات بوسیله یک نرم افزار اندرویدی از روی همون دیتابیس آنلاین))
بی صبرانه منتظر راهنمایی شما دوستان و اساتید عزیز خواهم بود
سپاس

سلام
ایجاد وب سرویس آموزش خاصی نداره ولی در رابطه با نمونه پروژه ایی که گذاشتم یه توضیح مختصری میدمکه امیدوارم لذت ببرید و مشکلت را حل کرده باشم

خب برای اینکه دیتا بیس آنلاین داشته باشی و بخواهی از اطلاعات آن بروی هر پلتفرمی (مثل نمایش عکس یا نام و نام خانوادگی یا حتی عملیات لاگین کاربران در پروژه ی موبایلی )عملیات انجام بدهی باید کنار بانک اطلاعاتی که روی هاست قرار گرفته یک صفحه وب چه با asp.net چه با php (فرقی نداره)داشته باشی؛که این میشه یک پل بین بانک اطلاعاتیت و اون پروژه ات.:لبخند:

ایجاد وب سرویس با asp.net

خب برای ایجاد وب سرویس مانند وب فرم است ولی با این تفاوت که هر عملیاتی را باید بصورت متد بنویسی تا بتونی مثلا در یک پروژه ی ویندوزی اطلاعات را بصورت متد دریافت یا ارسال کنی خب برای اینکار ابتدا یک پروژه وب asp.net ایجاد می کنید و سپس بروی پروژه راست کلیک میکنیدو add-newitem
از گزینه های موجود گزینه WebService را انتخاب کنید.:لبخند:

خب در این قسمت که وارد محیط WebServiceشدید برای هر عملیاتی که میخاهید انجام بدید یک متد بصورت public ایجاد کنید...اما.....قبلا بهتون گفتم که باید اطلاعات را بصورت متد در بیارید برای این کار قبل از ایجاد متد اینو مینویسید [WebMethod] بقیه اش را به عهده ماکروسافت می سپارید:قهقهه::لبخند:

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


public string LoginFunction(string Username, string Password)
{

try
{
connection.Open();
string count = "select count(*) from registrationTable where userName = '" + Username + "'";
SqlCommand cmd = new SqlCommand(count, connection);
int i = int.Parse(cmd.ExecuteScalar().ToString());
if (i == 1)
{
string search_pass = "select password from registrationTable where username = '" + Username + "'";
SqlCommand cmd1 = new SqlCommand(search_pass, connection);
string password = cmd1.ExecuteScalar().ToString().Replace(" ", "");
if (password == Password)
{
return "خوش آمدید";
}
else
{
return "کلمه عبورنادرست است";
}
}
else
{
return "نام کاربری با این نام وجود ندارد";
}
}
catch (Exception exp)
{
return exp.ToString();
}
finally
{
connection.Close();
}
}




خب اگر توجه کرده باشی میبینی کد نویسی که برای یک فرم ساده لاگین است را نوشتم ولی با این تفاوت که متدمون دارای دوتا آرگومان ورودی است و برای نمایش نتیجه کارمون از کلمه کلیدی return استفاده کردم:لبخند:

خب این از قسمت وب سرویسمون که تموم شد ؛بقیه قسمت هاشم(متدهای نمونه پروژه ایی که گذاشتم) شبیه همین مثال است...

بریم سراغ پروژه ویندوزفرم:لبخند::چشمک:

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

برای مثال یک ویندوز فرم ایجاد می کنید و بروی refrences راست کلیک کنید.گزینهadd service refrence... را انتخاب کنید..بعدش هم بریم همون صفحه وب سرویسی(پسوند وب سرویس هاasmx) که ایجاد کردید را انتخاب کنید:لبخند:

خب یک نمونه از وب سرویس اضافه شده درست می کنید

myservicetest.myserviceSoapClient s = new myservicetest.myserviceSoapClient();


خب در این متد دوتا ورودی(نام کاربری و رمز عبور) که قبلا در وب سرویس مشخص کردیم، میگیرد؛ وچون خروجی ما استرینگ است پس آن را درون یک متغییر استرینگ قرار میدیم....


string test = s.LoginFunction(textBox1.Text, textBox2.Text);

خب یادتون هست که گفتم برای نمایش خروجی مون از کلمه return استفاده میکنیم میتونیم روی همین خروجیمون شرط بزاریم مثلا


if (test == "خوش آمدید")
MessageBox.Show("خوش آمدید");


خب حالا قبل از اینکه نام کاربری و رمز عبور در پروژه ویندوزی را وارد کنید حتما و باید باید پروژه وبمون یا همون وب سرویسمون را اجرا کنیم......

امیدوارم چیزی را از قلم ننداخته باشم و اینکه یادگرفته باشید؛هرکجا هم مشکلی داشتید آی دی تلگرام@mr_30 در خدمتم....

موفق باشید

sg.programmer
جمعه 26 آبان 1396, 11:53 صبح
سلام - وب سرویس حتما باید با asp.net نوشت
آیا نمیشه تو خود برنامه C# وب سرویس را ایجاد کرد؟

mz6488
جمعه 26 آبان 1396, 14:22 عصر
سلام - وب سرویس حتما باید با asp.net نوشت
آیا نمیشه تو خود برنامه C#‎ وب سرویس را ایجاد کرد؟
سلام.میتونید با php و nodejs هم بنویسید.نیازی نیست که الزامان asp باشه

رامین مرادی
شنبه 27 آبان 1396, 08:16 صبح
سلام
ایجاد وب سرویس آموزش خاصی نداره ولی در رابطه با نمونه پروژه ایی که گذاشتم یه توضیح مختصری میدمکه امیدوارم لذت ببرید و مشکلت را حل کرده باشم

خب برای اینکه دیتا بیس آنلاین داشته باشی و بخواهی از اطلاعات آن بروی هر پلتفرمی (مثل نمایش عکس یا نام و نام خانوادگی یا حتی عملیات لاگین کاربران در پروژه ی موبایلی )عملیات انجام بدهی باید کنار بانک اطلاعاتی که روی هاست قرار گرفته یک صفحه وب چه با asp.net چه با php (فرقی نداره)داشته باشی؛که این میشه یک پل بین بانک اطلاعاتیت و اون پروژه ات.:لبخند:

ایجاد وب سرویس با asp.net

خب برای ایجاد وب سرویس مانند وب فرم است ولی با این تفاوت که هر عملیاتی را باید بصورت متد بنویسی تا بتونی مثلا در یک پروژه ی ویندوزی اطلاعات را بصورت متد دریافت یا ارسال کنی خب برای اینکار ابتدا یک پروژه وب asp.net ایجاد می کنید و سپس بروی پروژه راست کلیک میکنیدو add-newitem
از گزینه های موجود گزینه WebService را انتخاب کنید.:لبخند:

خب در این قسمت که وارد محیط WebServiceشدید برای هر عملیاتی که میخاهید انجام بدید یک متد بصورت public ایجاد کنید...اما.....قبلا بهتون گفتم که باید اطلاعات را بصورت متد در بیارید برای این کار قبل از ایجاد متد اینو مینویسید [WebMethod] بقیه اش را به عهده ماکروسافت می سپارید:قهقهه::لبخند:

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


public string LoginFunction(string Username, string Password)
{

try
{
connection.Open();
string count = "select count(*) from registrationTable where userName = '" + Username + "'";
SqlCommand cmd = new SqlCommand(count, connection);
int i = int.Parse(cmd.ExecuteScalar().ToString());
if (i == 1)
{
string search_pass = "select password from registrationTable where username = '" + Username + "'";
SqlCommand cmd1 = new SqlCommand(search_pass, connection);
string password = cmd1.ExecuteScalar().ToString().Replace(" ", "");
if (password == Password)
{
return "خوش آمدید";
}
else
{
return "کلمه عبورنادرست است";
}
}
else
{
return "نام کاربری با این نام وجود ندارد";
}
}
catch (Exception exp)
{
return exp.ToString();
}
finally
{
connection.Close();
}
}




خب اگر توجه کرده باشی میبینی کد نویسی که برای یک فرم ساده لاگین است را نوشتم ولی با این تفاوت که متدمون دارای دوتا آرگومان ورودی است و برای نمایش نتیجه کارمون از کلمه کلیدی return استفاده کردم:لبخند:

خب این از قسمت وب سرویسمون که تموم شد ؛بقیه قسمت هاشم(متدهای نمونه پروژه ایی که گذاشتم) شبیه همین مثال است...

بریم سراغ پروژه ویندوزفرم:لبخند::چشمک:

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

برای مثال یک ویندوز فرم ایجاد می کنید و بروی refrences راست کلیک کنید.گزینهadd service refrence... را انتخاب کنید..بعدش هم بریم همون صفحه وب سرویسی(پسوند وب سرویس هاasmx) که ایجاد کردید را انتخاب کنید:لبخند:

خب یک نمونه از وب سرویس اضافه شده درست می کنید

myservicetest.myserviceSoapClient s = new myservicetest.myserviceSoapClient();


خب در این متد دوتا ورودی(نام کاربری و رمز عبور) که قبلا در وب سرویس مشخص کردیم، میگیرد؛ وچون خروجی ما استرینگ است پس آن را درون یک متغییر استرینگ قرار میدیم....


string test = s.LoginFunction(textBox1.Text, textBox2.Text);

خب یادتون هست که گفتم برای نمایش خروجی مون از کلمه return استفاده میکنیم میتونیم روی همین خروجیمون شرط بزاریم مثلا


if (test == "خوش آمدید")
MessageBox.Show("خوش آمدید");


خب حالا قبل از اینکه نام کاربری و رمز عبور در پروژه ویندوزی را وارد کنید حتما و باید باید پروژه وبمون یا همون وب سرویسمون را اجرا کنیم......

امیدوارم چیزی را از قلم ننداخته باشم و اینکه یادگرفته باشید؛هرکجا هم مشکلی داشتید آی دی تلگرام@mr_30 در خدمتم....

موفق باشید
مهندس جان من وب سرویسم رو بخوبی پیاده کردم و با سرور مجازی خود ویژوال استودیو تونستم راش بندازم. اما میخوام اینو ببرم رو ویندوز سرور2012 اما هر بار یه خطایی میده. یه بار 503 یه بار 403.18 و چندتا دیگه که الان حضور ذهن ندارم. ممنون میشم راجب انتقالش هم توضیح بدید.

حسین.کاظمی
شنبه 27 آبان 1396, 17:19 عصر
سلام - وب سرویس حتما باید با asp.net نوشت
آیا نمیشه تو خود برنامه C#‎ وب سرویس را ایجاد کرد؟

سلام
با تمامی زبان های برنامه نویسی موجود می توان وب سرویس نوشت....
اگر منظورتون وب سرویس ویندوزی با زبان سی شارپ است اونم میشه:متفکر::لبخند: ولی فقط تو محیط ویندوز اجرا میشه:چشمک:

حسین.کاظمی
شنبه 27 آبان 1396, 17:21 عصر
مهندس جان من وب سرویسم رو بخوبی پیاده کردم و با سرور مجازی خود ویژوال استودیو تونستم راش بندازم. اما میخوام اینو ببرم رو ویندوز سرور2012 اما هر بار یه خطایی میده. یه بار 503 یه بار 403.18 و چندتا دیگه که الان حضور ذهن ندارم. ممنون میشم راجب انتقالش هم توضیح بدید.

وب سرویس ویندوزی نوشته اید؟؟؟و با چه زبانی؟؟؟

esmael_g
شنبه 27 آبان 1396, 19:12 عصر
سلام خوب می خواستم سوالی در این مورد بپرسم که خدا روشکر پرسیدن منم یه سوال دارم میشه دیتابیسsql رو (اطلاعات درونش رو ) به دیتابیس انلاین phpmyadmin انتقال داد ؟ در ویندوز فورم اپلیکیشن راهی هست چاره ای هست ممنون میشم بگید

حسین.کاظمی
شنبه 27 آبان 1396, 20:57 عصر
سلام خوب می خواستم سوالی در این مورد بپرسم که خدا روشکر پرسیدن منم یه سوال دارم میشه دیتابیسsql رو (اطلاعات درونش رو ) به دیتابیس انلاین phpmyadmin انتقال داد ؟ در ویندوز فورم اپلیکیشن راهی هست چاره ای هست ممنون میشم بگید

سلام
اگر منظورتون sqlserver است؛ کارش اصلا آنلاین بودن .......
تنها راهش فکر کنم اگر اشتباه نکنم برای انتقال دادن با کوئری نوشتن بشه انجام داد......


از نظر دیگر دوستان هم استفاده کند..

رامین مرادی
دوشنبه 29 آبان 1396, 08:15 صبح
وب سرویس ویندوزی نوشته اید؟؟؟و با چه زبانی؟؟؟
1- با asp.net نوشتم با وب سرویس معمولی نه wcf و با زبان سی شارپ. و بخوبی داره اجرا میشه هم تو لوکال هم رو سرور محلیمون که 2012 هست. اما یه مشکل داریم :آی پی ثابت داریم اما از بیرون نمیتونیم به اون وب سرویس دسترسی داشته باشیمنمیدونم مسئول شبکه این کارو کرده یا نه.ممنون میشم احتمالات رو بگید که از چی میتونه باشه(نیاز به تنظیم پورت فورواردینگ مودم هست یا نه؟).

2- من تو وب سرویس با base64 یه عکس رو به صورت رشته برمیگردونم گاها عکس حجمش زیاده و یه کم زمان میبره. به نظرتون بهترین روش برا برگردوندن یه فایل عکس با وب سرویس چیه؟



147085
تصویر مربوط به اجرای وب سرویس نصب شده روی ویندوز سرور 2012 هست.

mr.sirwan
دوشنبه 29 آبان 1396, 09:44 صبح
1- با asp.net نوشتم با وب سرویس معمولی نه wcf و با زبان سی شارپ. و بخوبی داره اجرا میشه هم تو لوکال هم رو سرور محلیمون که 2012 هست. اما یه مشکل داریم :آی پی ثابت داریم اما از بیرون نمیتونیم به اون وب سرویس دسترسی داشته باشیمنمیدونم مسئول شبکه این کارو کرده یا نه.ممنون میشم احتمالات رو بگید که از چی میتونه باشه(نیاز به تنظیم پورت فورواردینگ مودم هست یا نه؟).

2- من تو وب سرویس با base64 یه عکس رو به صورت رشته برمیگردونم گاها عکس حجمش زیاده و یه کم زمان میبره. به نظرتون بهترین روش برا برگردوندن یه فایل عکس با وب سرویس چیه؟

1. احتمالا فورواردینگ مودم کار رو راه بندازه

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

رامین مرادی
دوشنبه 29 آبان 1396, 10:49 صبح
1. احتمالا فورواردینگ مودم کار رو راه بندازه

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

ممنون از نظرتون . پاسخ یک رو حتما با مسئول شبکه درمیون میزارم.
اما در مورد فایل اینو بگم که فایل ها با توجه به اینکه حجم دیتابیس زیاد نشه به صورت آدرس فایل در sql ذخیره شده ب بسم الله 25 گیگ فایل :لبخند:
فایلها در سرورمون در یه مسیر مشخص ذخیره شده. روی وب نیست که بشه آدرس داد . بنابرین مجبورم خود عکس رو به نحوی به کاربر بفرستم. البته من این تجربه اولمه که اینمدلی با وب سرویس کار میکنم. شایدم کل کاری که انجام میدم اشتباهه. حالا شما چه راهی پیشنهاد میدید که فایل ذخیره شده درون یک سیستم رو به کاربر ارسال کنم. این فایل یا عکس هست یا به صورت یک فایل pdf هست.
البته مشکلی هم نداریم از بابت زمانی . مد نظرم هست این زمان رو کاهش بدم. و سایتی هم که قراره وب سرویسمون ازش فراخوانی بشه به زبان php هست و برنامه نویس خودش بقیه کارها رو انجام میده.

esmael_g
دوشنبه 29 آبان 1396, 20:34 عصر
sql managment studio مایکروسافت رو میگم اطلاعات رو که اونجا ذخیره کردیم راهی هست یه کپی هم به دیتابیس انلاین ارسال بشه چون این که افلاین رو سیستم ذخیره میشه چه در زمان ثبت داده چه اینکه یه دکمه براش بسازیم که کلیک کرد اطلاعات رو در هر دو صورت ارسال کنه به دیتابیس انلاین ( فرق نمی کنه ) هر کدوم باشه عالی اگه راهی هست ممنون میشم می خوام اطلاعات هم در دیتابیس خود نرم افزار هم در دیتابیس انلاین ذخیره بشه

رامین مرادی
سه شنبه 30 آبان 1396, 08:55 صبح
اگه دیتابیستون هر دو رو sql server سوار هستن فک کنم یه راهی هست که بشه هردوتا رو آینه کرد. یعنی هر اتفاقی در سرور یک بیافته عین اون هم در سرور دوم بیافته.
مثال زیر یه نمونه خوب با سی شارپه که سرور رو همگام سازی میکنه
http://www.techcognition.com/post/sync-two-databases-using-microsoft-sync-framework-in-c (انگلیسی)

اینم یه توضیح مختصر برای فارسی
http://jalil.faalkhah.com/?p=452

این هم بهترین مثال برای اینکار(فارسی و تصویری)

https://dba.itpro.ir/tutorials/12464/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%82%D8%AF%D9%85-%D8%A8%D9%87-%D9%82%D8%AF%D9%85-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-transactional-replication-%D8%AF%D8%B1-sql-%D8%B3%D8%B1%D9%88%D8%B1-2008-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84
:لبخندساده: