سؤال

حتى الآن في هذا المشروع لدي تقارير في VS2008 / عروض الأسعار. واحد واحد يحتوي على 1 tablix وهو حوالي 100 كيلو. المرء الثاني يحتوي على 3 tablixes (التقريبات؟) ويبلغ حوالي 257 ألف. يمكنني نشر التقرير الأصغر بنجاح من VS ويمكنني تحميله من إدارة التقرير في IE. يمكنني عرض / تشغيله من مدير التقارير ويمكنني الوصول إلى عنوان URL الخاص بالتقرير (خدمة الويب) من متصفحي على ما يرام. يتم كل شيء على https وليس هناك خطأ في الشهادات.

مع التقرير الأكبر، فإن الخطأ الذي أحصل عليه مقابل VS هو "انتهت مهلة العملية" بعد حوالي 100 ثانية. الخطأ عندما التحميل من IE هو "تم إغلاق الاتصال الأساسي: حدث خطأ غير متوقع على إرسال" بعد حوالي 130 ثانية.

في ملف rsreportserver.config، حاولت تغيير المصادقة / enableAuthpersistence من True إلى False وأعد تشغيل الخدمة، ولكن لا يزال يحصل الخطأ. لدي مفتاح "SecureconnectionLevel" المفتاح الذي تم تعيينه إلى 2. تغيير هذا إلى 0 وإيقاف تشغيل SSL لن يكون خيارا. أضفت مفتاح تسجيل اسمه "MaxRequestBytes" إلى HKEY_LOCAL_MACHINE SYSTEM CurrentControlset Services HTTP Parameters وتعيينه إلى 5242880 (5 ميجابايت) وأعد تشغيل خدمات HTTP و SRS كما هو مقترح في منشور المنتدى بواسطة Jin Chen من MSFT.

ما زلت لا أستطيع تحميل التقرير الأكبر. هذا على MS SQL 2008 و WS 2003. أدناه جزء من إدخال ملف السجل من ... Reporting Services LogFiles عندما حاولت التحميل من IE.

مكتبة! windowsservice_0! خطأ: تم إغلاق الاتصال الأساسي: حدث خطأ غير متوقع في إرسال. ui! Reportmanager_0-1! 438! 02/10/2010-07: 59: 34 :: خطأ E: رمز حالة HTTP -> 500 -------- تفاصيل -------- system.net .webException: تم إغلاق الاتصال الأساسي: حدث خطأ غير متوقع في إرسال. ---> System.IO.ioException: غير قادر على كتابة البيانات إلى اتصال النقل: تم إحباط اتصال ثابت من خلال البرنامج في جهازك المضيف. ----> system.net.sockets.socketexception: تم إحباط اتصال ثابت من خلال البرنامج في الجهاز المضيف في System.Net.sockets.socket.multiplesend (Bufferoffsetsize [] المخازن المؤقتة، Socketflags SocketFlags) في system.net.sockets. NetworkStream.MultipleWrite (Bufferoffsetsize [] المخازن المؤقتة) --- نهاية الاستثناء الداخلي تتبع المكدس --- ...
هل كانت مفيدة؟

المحلول

أعتقد أنني احسبت هذا واحد خارج. صرح إدخال المدونة حول زيادة الحد الأقصى لل BAYTES لإضافة مفتاح تسجيل باسم "MaxRequestBytes" إلى HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Http Parameters، الذي فعلته، ثم أعد تشغيل الخدمات المناسبة. نظرا لأنني ما زلت أمتلك المشكلة التي أبقت فيها بحثا عن حل، وكما اتضح، فلا يجب إضافة "MaxRequestBytes" كسيارة تسجيل، ولكن كقيمة DWORD. يرى Http.SYS إعدادات التسجيل ل IIS للمزيد من المعلومات. بالنسبة إلى MaxRequestLength، القيمة الافتراضية هي 16384 وما كحد أقصى 16777216 (16 ميغابايت). لدي مجموعة من الألغام إلى 1048576 (1 ميغابايت).

شيء آخر نظرت إليه هو سمة MaxRequestlength في <httpruntime في C: Program Files Microsoft SQL Server MSRS10.SWA Reporting Services Reportserver Web.config الذي لديه قيمة افتراضية 4096 كيلو بايت (4 ميغابايت)، وهو كبير بما فيه الكفاية. مرجع: <httpruntime> العنصر.

آخر شيء للتحقق هو أن HKEY_LOCAL_MACHINE SYSTEM CurrentControlset Services Tcpip Parameters تم تعيين EnabletCpchimney بالفعل إلى 0.

تمت إعادة تشغيل الخادم لسبب آخر بعد إجراء تغيير تسجيل MaxRequestLength وأنا قادر على تحميل جميع التقارير الآن، بما في ذلك الأكبر، كل ذلك عبر HTTPS.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top