سؤال

ولقد تم استخدام الرسم البياني الضوابط ASP.NET لفترة من الوقت على win2k3 (32BIT و) الاجهزة دون أي قضية ولكن لاحظت أن على موقعنا win2k8 الجديد (64bit) عن مربع أنا على الحصول على رسالة تحذير تظهر في عارض الأحداث من عنصر التخطيط.

في الملف web.config بلدي لقد العلامة التالية قول الرسم البياني تحكم أين يمكنني تخزين الملفات المؤقتة:

<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />

وفيما يلي رسالة التحذير التي تنتجها التحكم:


ورمز الحدث: 3005 رسالة الحدث: حدث استثناء غير معالج. وقت الحدث: 2009/10/07 02:40:03 وقت الحدث (UTC): 2009/10/07 02:40:03 معرف الحدث: 237c3b208962429e8bbc5a48ffd177f0 تسلسل الأحداث: 2860 حدوث الحدث: 26 رمز الحدث التفاصيل: 0

معلومات التطبيق:     مجال التطبيق: / LM / W3SVC / 2 / ROOT-1-128993655360497729     مستوى الثقة: بطاقة كاملة     مسار التطبيق الظاهري: /     مسار التطبيق: C: \ البيانات \ مواقع \ mydomain.com \     اسم الجهاز: 231692-WEB

والمعلومات العملية:     معرف العملية: 4068     اسم العملية: w3wp.exe     اسم الحساب: NT AUTHORITY \ NETWORK الخدمة

والمعلومات الاستثناء:     نوع الاستثناء: ArgumentException     رسالة الاستثناء: لم يتم العثور على الصورة.

وطلب المعلومات:     طلب URL: http://www.mydomain.com/ChartImg.axd ؟ ط = chart_0_3.png و ز = bccc8aa11abb470980c60e8cf1e71e15     طلب مسار: /ChartImg.axd     عنوان المضيف العضو: بلدي الملكية الفكرية نطاق     العضو:
    مصادقة: خطأ     المصادقة النوع:
    موضوع اسم الحساب: NT AUTHORITY \ NETWORK الخدمة

والمعلومات الموضوع:     ID الموضوع: 7     موضوع اسم الحساب: AUTHORITY \ NETWORK NT الخدمة     غير انتحال: خطأ     تتبع المكدس: في System.Web.UI.DataVisualization.Charting.ChartHttpHandler.ProcessSavedChartImage (HttpContext السياق)    في System.Web.UI.DataVisualization.Charting.ChartHttpHandler.System.Web.IHttpHandler.ProcessRequest (HttpContext السياق)    في System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute ()    في System.Web.HttpApplication.ExecuteStep (IExecutionStep الخطوة، منطقية & completedSynchronously)


وتجدر الإشارة إلى أن ALL على الرسم البياني للصور وعرضها بشكل صحيح على الشاشة لذلك أنا لست متأكدا متى / أين يتم تسبب خطأ الصورة غير موجود. هل هذه القضية 64BIT؟

وشكرا، غني

هل كانت مفيدة؟

المحلول 3

وقضيت الأسبوع النظر في هذه المسألة، ويبدو أن لا أحد أملك جوابا لماذا أنا على الحصول على رسائل التحذير في عارض الأحداث.

ولقد طلبت هذا السؤال على الرئيسية المنتديات MS الرسم البياني للغاية ولكن لا حظ. الرابط هنا: HTTP: / /social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/75f50254-0f02-4a73-bfbe-afab31f15f77

وستمثل كما أجاب على سؤال فقط قريبة ولكن سيتم تحديث في المستقبل إذا أي وقت مضى أجد جوابا. وأظن أنه يحدث لعدد أكبر من الناس ولكن لأن كل شيء على الواجهة الأمامية تبدو طيب لا أحد من أي وقت مضى حقا الشيكات سجلات حتى أنها قد لا يدرك ذلك يحدث لهم.

نصائح أخرى

وكان لي أن يحدث الخطأ نفسه كلما حاول المستخدمين من نسخ أو سحب مخطط من IE إلى مستند Word. افتراضيا حذف الخادم ترسم الصور على الفور بعد أن كنت قد تم تسليمها الى متصفح المستخدم، ولا يبدو IE لنسخ بيانات الصورة المخزنة مؤقتا. لست متأكدا من الميكانيكا وراء ذلك، ولكن على أي نسخ أو لصق، الصورة يجب أن تكون المنال من الخادم مرة أخرى. تم حل المشكلة عن طريق تغيير الإدخال في الملف web.config إلى:

<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;deleteAfterServicing=false;" />

هل يعمل هذا في موقع IIS7 الأصلي، أو موقع IIS7 تشغيل في وضع التوافق 2.0 ASP.NET؟

فمن الممكن أن IIS هو مجرد كونه قليلا مطول مع انها قطع الأشجار، أو قطع الأشجار أن هناك قضية، ومن ثم يتراجع إلى وضع إرث نوع الدعم - ملفات .axd هي ملفات الظاهرية التي لم تكن موجودة عادة على القرص، يتم تعيين أنها في معالجات كما في الملف web.config الخاص - علما بأن IIS7 الآن يدعم عنصر <system.webServer>، ويجب أن يتم تعيين معالجات بك هناك لمواقع جديدة، وليس في قسم <system.web>

في تجربتي سوف تتلقى رسالة الخطأ هذه إذا كان يحاول المستخدم لطباعة صفحة ويب إذا deleteAfterServicing ليس false في الملف web.config، لأن تم حذف الصورة.

وأيضا، إذا deleteAfterServicing = كاذبة، إذا USER1 يولد تخطيط، ثم USER2 يولد مخطط الكتابة فوق صورة المخطط، USER2 يمكن طباعة بنجاح المخطط، ولكن USER1 سوف يؤدي الاستثناء.

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