محدودیت طول رشته ورودی در HttpWebRequest
با سلام
من میخوام با استفاده از HttpWebRequest یک کوئری رو اجرا کنم بعضی اوقات که مثلا کوئری insert میخوام بنویسم ممکنه طول رشته بلند باشه و بخاطر محدودیتی که طول رشته ورودی HttpWebRequest داره خطا میده و کوئری رو اجرا نمیکنه
لطفا بگید راهی داره که بتونم این محدودیت رو بردارم یا کاهشش بدم؟؟؟؟؟؟؟؟؟؟؟؟؟
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
سوالتون زیاد واضح نیست؟ شما میخواید متن Query خودتون رو از طریق HttpWebRequest ارسال کنین؟ اینکار هرگز توصیه نمیشه ولی در هر صورت شما میتونین HttpWebRequest.ContentLength رو هر مقداری که میخواید Set کنین. که تا حداکثر Int64 جا داره.
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
بله من ميخوام همين كارو بكنم ميشه بگيد چه مشكلاتي داره ؟؟؟؟ البته ميدونم اگه منظورتون مشكل امنيتي هست از الگوريتمهاي هشينگ براي كد كردن رشته ارسالي استفاده مي كنم
فقط ميشه لطفا بگيد از HttpWebRequest.ContentLength چجوري بايد استفاده كنم ؟؟ يعني يك مثال بديد چون من تو كوئري ارساليم يك فيلد دارم كه مقدارش از htmleditor خونده ميشه و اون وقتي به كد html تبديل ميشه طول رشته زياد ميشه و نميتونه كوئري رو اجرا كنه يعني فقط مشكلم تو همين فيلده كه مقدارش طولاني ميشه
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
براتون مقدور هست که کوئری تون رو در یک SP در دیتابیس بگذارید و اون رو با نام مورد ارجاع قرار بدید؟
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
منظورتون رو خوب متوجه نشدم sp چیه؟
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
SP مخفف Stored Procedure ه.
معماری پروژه شما چیه؟ چه نیازی دارید که از HttpWebRequest استفاده کنین؟ چرا Query رو باید به سرور بفرستین؟
برای Set کردن مقدار ContentLength خیلی راحت اون رو به یک عدد دلخواه تنظیم کنید.
var request = (HttpWebRequest) WebRequest.Create(new Uri("Your URL"));
request.ContentLength = Int64.MaxValue;
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
ممنونم ولی این دستوری که شما دادید نوشتم موقع اجرا به همون خط contentlenght گیر میده اگه بخوام از sp استفاده کنم باید چکار کنم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
دوست عزیز اگر میخواید نتیجه بگیرید باید توضیحات بیشتری بدید. شما سوالهای پاسخ قبلی من رو بدون جواب گذاشتین. اینجا باز میگید موقع اجرا گیر میده ولی نمیگید چه پیغام خطایی میگیرید. چطور توقع دارید دیگران بتونن به شما کمک کنند در حالیکه خودتون سوالتون رو کامل مطرح نمیکنین؟
1 ضمیمه
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
پروژه من یک پروژه دانشجوییه که استاد ازم خواسته که بتونم در یک دیتابیس رو ی یک هاست اطلاعات ثبت کنم برای اینکار احتیاج به این دارم که از سی شارپ با httpwebrequest کوئریم رو روی دیتابیس هاست اجرا کنم و در زمان اجرای این کوئری وقتی برخی فیلدهای توضیحاتم مقدارش طولانی میشه کوئریم اجرا نمیشه همین!!!!!!!!!
حالا میشه راهنمایی کنید؟
این عکس پیام خطایی که میده:
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
نقل قول:
نوشته شده توسط
moeinih
پروژه من یک پروژه دانشجوییه که استاد ازم خواسته که بتونم در یک دیتابیس رو ی یک هاست اطلاعات ثبت کنم برای اینکار احتیاج به این دارم که از سی شارپ با httpwebrequest کوئریم رو روی دیتابیس هاست اجرا کنم و در زمان اجرای این کوئری وقتی برخی فیلدهای توضیحاتم مقدارش طولانی میشه کوئریم اجرا نمیشه همین!!!!!!!!!
حالا میشه راهنمایی کنید؟
این عکس پیام خطایی که میده:
اون قسمتی که قرمز کردم رو چطوری بهش رسیده اید؟
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
اینم ببین: http://support.microsoft.com/kb/908573
هر چند هنوز متقاعد نشده ام که باید از httpwebrequest استفاده کنی.
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
شما راه بهتری از httpwebrequest سراغ دارید؟
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
اوکی، بگذار یک مقدار مقدمه بگم.
کلاس HttpWebRequest در namespace ی قرار داره بنام System.Net همه کلاسهای این namespace برای برقراری ارتباط بین Client و Server هستند. کلاس HttpWebRequest در واقع همون کلاس WebRequest ه که از پروتکل Http برای ارسال و دریافت اطلاعات استفاده میکنه.
اما،
کلاسهایی که جهت برقراری ارتباط با دیتابیس کاربرد دارن در namespace ی بنام System.Data و بطور خاص برای برقراری ارتباط با SQL Server در System.Data.SqlClient قرار دارند. من پیشنهاد میکنم مقداری Document های مربوط به این دو Namespace رو مطالعه کنین و ببینین آیا دارید از کلاس درستی استفاده میکنین یا خیر.
اما برگردیم به مشکل شما:
از عکسی که فرستادی به نظر میرسه Client سیستم شما یک Windows Application شایدم یک WPF Application باشه. خوب سرور این Client کجاست؟ روی همون کامپیوتره؟ یا روی یک کامپیوتر دیگه؟ اگه روی همون کامپیوتره آیا توی یک Process ه با این Client یا یک پروسس دیگه؟ اگر روی یک کامپیوتر دیگست آیا ارتباط با Client از طریق وب ه یا از طریق Lan ؟ و اینکه Data Provider درست کردی در سمت سرور؟ یعنی یک سری سرویس داری که Call شون میکنی برای کار با Database ت؟ اگه جواب مثبته از چه تکنولوژی استفاده کردی واسه پیاده کردن اون سرویس ها؟ WCF هستند؟ SOAP ه؟ REST ه؟ پارامترهای این سرویس ها رو از چه طریقی ارسال میکنی؟
شاید که فکر کنی خیلی پیجیده شد قضیه ولی باور کن تا جواب این سوالات رو ندی کسی نمیتونه جواب درست بهت بده
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
بله سیستم من یک windows application هست و سرورش هم روی وبه
از اینای دیگه که گفتی سر در نمیارم
مشکل من چجوری حل میشه استفاده از همون content lenghtرو برام باز کن ببینم میتونم با استفاده از اون کوئری طولانی بفرستم یا برم سراغ راه دیگه ای؟؟؟؟؟؟؟؟/
نقل قول: محدودیت طول رشته ورودی در HttpWebRequest
یکی به داد من برسه
چجوری میتونم از امکانات ایجاد وب سرویس برای رفع این مشکلم استفاده کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟//