سؤال

جئت عبر هذه المشكلة عندما أكتب معالج حدث في SharePoint.بلدي معالج الحدث لديه مرجع ويب.عند إنشاء هذا مرجع ويب URL خدمة ويب سوف تضاف في المستقبل .config الجمعية.إذا كنت تضطر إلى تغيير مرجع ويب URL أنا فقط عليك تغيير الرابط في ملف التكوين.

المشكلة تأتي عندما أحاول GAC dll.عندما GAC DLL ملف التكوين لا يمكن GACed جنبا إلى جنب مع dll, ومن ثم لا توجد وسيلة بالنسبة لي تحديث مرجع ويب.

الحل واحد لقد وجدت هو تعديل منشئ الطريقة المرجعية.فئة cs الذي يتم إنشاؤه تلقائيا من قبل visual studio عند إضافة مرجع ، بحيث منشئ يقرأ خدمة ويب url من موقع آخر ، ويقول سجل أو ملف XML في موقع محدد سلفا.ولكن هذا يشكل مشكلة في بعض الأحيان, كما هو الحال عندما قمت بتحديث شبكة الإنترنت referenc باستخدام visual studio, هذا المرجع.cs يحصل على ملف متجدد و كل التعديلات سوف تضيع.

هل هناك طريقة أفضل لحل هذه المشكلة ؟

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

المحلول

إذا كان لديك Visual Studio 2008, استخدام الخدمة المرجعية بدلا من مرجع ويب التي سوف تولد جزئية الفئات التي يمكنك استخدامها لتجاوز الوظيفة دون رمز الكتابة بواسطة المولدات.

Visual Studio 2005, يمكنك فقط إضافة جزئية الكلمة الفصل في المرجعية.cs والحفاظ على ملف منفصل مع الخاص بك فئة جزئية:

public partial class WebServiceReference
 { public WebServiceReference(ExampleConfigurationClass config) 
    { /* ... */
    }
 }

WebServiceReference svc = new WebServiceReference(myConfig);

نصائح أخرى

أي تطبيق استضافته SharePoint باستخدام شبكة الإنترنت.config الموجود في جذر موقع SharePoint على ويب في IIS.ما عليك القيام به هو إضافة التكوين التي تم إنشاؤها بواسطة شبكة الإنترنت/الخدمة المرجعية المعالج الويب الخاص بك.config.

هذا هو تقريبا كيف يعمل:

  • تطبيق SharePoint تجمع كميات DLL الخاص بك
  • DLL الخاص بك تبدو لخدمة المعلومات الحالية في ملف تكوين التطبيق
  • DLL الخاص بك تجد على شبكة الإنترنت.التكوين و يبحث عن معلومات التكوين هناك

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

وأصررت على ذلك عن طريق جعل مرجع ويب ديناميكية صفي المكتبة ثم نسخ applicationSettings التكوين القسم يحتوي على مرجع ويب من التطبيق.ملف التكوين إلى موقع Sharepoint على ويب.config.

ملاحظة سوف تحتاج أيضا إلى نسخ دخول applicationSettings إلى موقع ويب الخاص بك.التكوين وهذا ليس هناك بشكل طبيعي.

يمكنك أن تجرب هذا:بدلا من استخدام الويب الديناميكية مرجعية تجعل ثابت المرجعية بحيث رمز في المرجعية.cs لن تذهب تبحث عن قيمة في .config لـ url.ثم الفئة الفرعية التي تم إنشاؤها على شبكة الإنترنت خدمة العميل التعليمات البرمجية في فئة مشتقة ، إضافة الخاصة بك المنطق إلى تعيين .عنوان العقار.ثم VS.NET يمكن إعادة gen المرجعية.cs كل ما يحب و عنوان url الخاص بك وضع رمز سيبقى.بالطبع, يمكنك تحديث أي المصب رمز لاستخدام فئة مشتقة ، ولكن ينبغي أن تكون بسيطة العالمي استبدال.

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