PDA

View Full Version : سوال در مورد ایجاد Web Service



Yama12
دوشنبه 15 تیر 1388, 11:16 صبح
سلام
من میخوام یک وب سرویس ایجاد کنم برای این کار از طریق زیر اقدام میکنم
File -> new-> website-> ASP.NET Webservice
سپس زبان را برابر سی شارپ قرار میدم
اما اگر Location را برابر Http قرار بدهم و آدرسی مثل http://localhost/website رو براش در نظر بگیرم و Ok کنم با خطای زیر مواجه میشم که عکسش رو گذاشتم.
اما در صورتی که Location را برابر File system قرار بدم و یک آدرس مثل C:\website رو وارد کنم خطایی رخ نمی دهد
درضمن من از vs.net 2008 استفاده میکنم
لطفا بگید این دو گزینه چه تفاوتی با هم دارن و من چطوری این خطا رو برطرف کنم
تشکر

Saeed_m_Farid
دوشنبه 22 تیر 1388, 16:07 عصر
سلام
من میخوام یک وب سرویس ایجاد کنم برای این کار از طریق زیر اقدام میکنم
File -> new-> website-> ASP.NET Webservice
سپس زبان را برابر سی شارپ قرار میدم
اما اگر Location را برابر Http قرار بدهم و آدرسی مثل http://localhost/website رو براش در نظر بگیرم و Ok کنم با خطای زیر مواجه میشم که عکسش رو گذاشتم.
اما در صورتی که Location را برابر File system قرار بدم و یک آدرس مثل C:\website رو وارد کنم خطایی رخ نمی دهد
درضمن من از vs.net 2008 استفاده میکنم
لطفا بگید این دو گزینه چه تفاوتی با هم دارن و من چطوری این خطا رو برطرف کنم
تشکر
سلام
تفاوت Location ها در نحوه ایجاد/بازکردن برای پروژه وب سرویس شما با MS. Visual Studio 2008 است، که انواعش اینا هستن :



File System : برای مواردی استفاده میشه که پروژه وب سرویس (وب سایت) شما روی سیستم خودتون ایجاد / باز میشه و شما خودتون مسئولیت ارتباط وب سرویس با IIS رو برعهده میگیرد : یعنی همونطوریکه خودتون گفتید یه مسیر فایل سیستم به پروژه تون میدین و ایجاد Virtual Directory تو IIS به عهده خودتونه و باید بصورت دستی یه دایرکتوری مجازی به اسم پروژه تون برای اجرای سورس یا فایلهای Publish شده وب سرویس تو IIS ایجاد کنید و IIS Web application هم پیش فزض انتخاب میشه که میتونید تغییرش بدین ...




HTTP : در این حالت یه IIS Web application تو سیستم خودتون یا یه سیستم ریموت ایجاد میشه که بصورت خودکار به مسیر سورس هاتون پیوند میخوره. تو این حالت فایلهای پروژه تو پوشه پیش فرض Web application (معمولاً Inetpub/Wwwroot) قرار می گیرن و اگه بخواید رو سیستم خودتون پروژه رو راه بندازید باید IIS رو سیستم تون نصب باشه و اگه رو یه سیستم ریموت باشه هم باید FrontPage Server Extensions رو برای اینکار پیکربندی کنید که در این مورد فکر نمی کنم منظور شما باشه. اگه آدرس http://localhost/website مستقیماً تایپ می کنید و جواب نمی گیرید دلیلش اینه که مراحل ایجاد دایرکتوری مجازی رو طی نمی کنید، برای اینکار Browse رو بزنید بعد سمت چپ Local IIS رو انتخاب کنبد و روی IIS Web site موردنظرتون (معمولاً همون Default Web Site)کلیک کرده و دکمه Create New Virtual Directory رو بزنید و اسم پروژه تون رو بدین (این همون اسمی هست که تو سیستم نهایی بنام وب سرویس شما قرار داده میشه)؛ بعدش Open رو بزنید تا ادامه مراحل وب سرویس شما بیاد ...




FTP : این حالت به درد وب سرویس نمیخوره، ولی مراحلش برای وب سایت مثل قبلی هست، با این تفاوت که مستقیم آدرس IP و مسیر پوشه موردنظر و پورت (معمولاً همون 21 مناسبه) داده میشه و مراحل اضافی نداره...




موقع باز کردن وب سرویس : اگه بخواهید قابلیت trace کردن مراحل اجرای وب سرویس در یه اتصال مشخص کلاینت (یعنی با یه کلاینت هماهنگ کرده باشید) رو داشته باشید؛ به همین طریق باید از Local IIS استفاده کنید، یعنی پروژتون باید از نوع دوم باشه و شما مسیر دایرکتوری مجازی که به محل پروژتون متصله بدین نه یه مسیر از فایل سیستم (مثلاً C:\Projects\MyWS01 یه مسیر ثابته و http://localhost/MyWS01 مسیر دایرکتوری مجازی) که وقتی یکی به وب سرویس شما برای گرفتن سرویس وصل میشه ببینید چه روندی برای اینکار طی میشه؛ در غیر اینصورت کلاینت سرویس خودش رو میگیره و در Braek Point شما نمی افته (مطمئن شوید که با یه سیستم زیر بار اینکار رو نمی کنید، چون در اینصورت اولاً مراحل trace درست نخواهد بود -بعلت کثرت کلاینت ها- و از طرف دیگه سورس تون در دسترس همه خواهد بود، برای اینکار -یعنی بعد اطمینان از صحت عملکرد وب سرویس- حتماً پروژه رو Publish کنید و مسیر دایرکتوری مجازی رو به فایلهای Publish شده بدین) ...


برای اطلاعات بیشتر و انواع دیگه میتونید به لینکهای موجود تو اینجا (http://msdn.microsoft.com/en-us/library/tcywfea7%28VS.80%29.aspx)مراجعه کنید.

Yama12
یک شنبه 04 مرداد 1388, 10:28 صبح
سلام
ممنون از توجهتون و پاسخ خوبتون
من از طریق http که توضیح دادین رفتم اما باز هم با همون خطا که عکسش رو براتون گزاشتم مواجه شدم
اگر میشه دوباره راهنماییم کنین
با تشکر

Saeed_m_Farid
یک شنبه 04 مرداد 1388, 11:15 صبح
سلام
ممنون از توجهتون و پاسخ خوبتون
من از طریق http که توضیح دادین رفتم اما باز هم با همون خطا که عکسش رو براتون گزاشتم مواجه شدم
اگر میشه دوباره راهنماییم کنین
با تشکر
اگه همونطوریکه تو شکل ها می بینید مراحل زیر رو رفتین :



File->New->Web Site->(Location) HTTP->Browse->Local IIS->Create New Virtual Directory->[Alias Name & Folder]->Ok->Open
http://4.bp.blogspot.com/_-iYBFPKDI2I/Smv_A5jPCYI/AAAAAAAAAB0/5zG03nzEXfQ/s320/NewWebSrv.JPG (http://4.bp.blogspot.com/_-iYBFPKDI2I/Smv_A5jPCYI/AAAAAAAAAB0/5zG03nzEXfQ/s1600-h/NewWebSrv.JPG)
شکل (1)


http://1.bp.blogspot.com/_-iYBFPKDI2I/SmwF0WHVHfI/AAAAAAAAACM/K1ULzpqliPg/s320/NewWebSrv2.JPG (http://1.bp.blogspot.com/_-iYBFPKDI2I/SmwF0WHVHfI/AAAAAAAAACM/K1ULzpqliPg/s1600-h/NewWebSrv2.JPG)
شکل (2)



و نتیجه نمی گیرید، به احتمال قوی مشکل تو مراحل نصب V.S.2008 و IIS شما است، یعنی شما باید اول IIS رو نصب می کردید و بعد V.S.2008؛
البته این کاملاً یه امر تجربی هست و هیچ دلیل علمی براش ندارم.
این اتفاق معمولاً وقتی برای دوستان پیش اومده و به هیچ طریقی حل نشده، به ترتیب نصب مربوط میشده ...

پ.ن: جای 3 و 4 تو عکس اولی، اشتباه شده بود، خواستم درست کنم ولی اون خط کشی ها رو نمیشد درست کرد! ترتیب اعداد درسته ولی خط کشی ها نه ...

Yama12
یک شنبه 04 مرداد 1388, 14:05 عصر
من اول vs2008 رو نصب کردم بعد iis رو
اما الان وقت این کا را رو ندارم
من دارم پروژه ام رو می نویسم که با وب سرویس در ارتباطه و تا 1 هفته دیگه باید تحویل بدم.
و قراره که روی نوت بوک خودم اجرا کنم یعنی ازش دفاع کنم
اگر از file system استفاده کنم به مشکل بر نخواهم خورد؟؟
البته تا الان که مشکلی نبوده

Saeed_m_Farid
یک شنبه 04 مرداد 1388, 14:23 عصر
اگر از file system استفاده کنم به مشکل بر نخواهم خورد؟؟
البته تا الان که مشکلی نبوده
نه، فقط باید تو IIS یه دایرکتوری مجازی واسه پروژه تون درست کنید ...