سؤال

لقد قمنا بتنفيذ بعض رمز عميل الصابون على موقع ASP.NET الذي يستدعي خدمة عن بعد. تم التنفيذ أساسا باستخدام Visual Studio "إضافة معالج مرجع ويب"، وإضافة "استخدام Remote.Service.namespace" المناسب "إلى التعليمات البرمجية واستدعاء الخدمة.

يعمل الرمز الكمال محليا (من Visual Studio)، ولكنه فشل في خادم الإنتاج على الويب مع خطأ مرجع التجميع المفقود:

CS0246: تعذر العثور على اسم نوع أو اسم الاسم "Remote.Service" (هل تفتقد استخدام التوجيه أو مرجع التجميع؟)

لدي شك متستر بأنني لا أشرف كل شيء بشكل صحيح، ربما يمكن لبعض المرء أن يشير إلى ما هو أنني في عداد المفقودين هناك؟

شكرا!

معلومات اضافية:

المشروع هو موقع ويب.

تم تثبيت ASP.NET الإصدار 2.0 وتستخدم كهدف على كل من صندوق ديف وخادم الإنتاج.

يتم نشر ملف الوكيل الذي تم إنشاؤه بواسطة Wsdl.exe في المجلد الجذر لموقع الويب، نفس المجلد الذي توجد فيه الصفحة. استخدم مساحة الاسم العالمية (الافتراضي) لجيل الوكيل.

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

المحلول

إذا كان هذا مشروع موقع الويب، فيجب أن يقيم ملف الوكيل داخل مجلد App_Code

نصائح أخرى

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

يجب عليك وضع DLL داخل مجلد "BIN". إذا كان المجلد ليس هناك إنشاءه.

كومة عميل خدمة الويب في .NET تقوم بتشغيل وقت التشغيل من عميل الوكيل (من التعليقات التوضيحية في الفصل الذي تم إنشاؤه بواسطة WSDL.EXE / SVCUCEL.EXE). ينتهي هذا الملف الذي تم إنشاؤه عادة في أحد أدلة Temp Servers الخاصة بك (يوجد واحد تحت شجرة Windows الرئيسية في مكان ما). المشكلة هي أن حساب مستخدم ASP.NET لا يحتوي على حقوق الكتابة إلى دليل TEMP الخاص بهذا، ولكن لا يلاحظ في ذلك الوقت يكتب الملف، لذلك ينتهي بك الأمر مع وجود خطأ أثناء محاولة تحميله ملف العودة. يمكنك في نهاية المطاف في الوضع اعتمادا على ترتيب التثبيت الدقيق على الخادم الخاص بك. بمجرد العثور على الدليل الصحيح، يمكنك ببساطة إصلاح رمز NTFS في الدليل لحل المشكلة.

هل قمت بنسخ مجلد App_webreferences وجميع محتوياته إلى الخادم؟

هل أجزاء أخرى من موقع asp.net الخاص بك؟

هل يستهدف موقعك 3.5 وربما 3.5 غير مثبت على خادم الإنتاج؟

هل هذا موقع ويب، أو مشروع تطبيق ويب؟ أراهن أنه موقع ويب.

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