سؤال

لقد أنشأت جهاز استقبال حدث SharePoint ، يطلق النار على تحديث العناصر. يحتاج المتلقي إلى الوصول إلى ما بعد البروبترات و ListItem.

عند إطلاق جهاز استقبال الحدث من تطبيق ويب SharePoint باستخدام عنوان IP (http://10.0.4.50/sites/) ، يرمي أ FileNotfoundException, ، عند الوصول إلى SiteId و Weburl في SpitemeventProperties.تطبيق الويب في http://10.0.4.50/sites/companyname لا يمكن إيجاده. تحقق من أنك كتبت عنوان URL بشكل صحيح.

عند إطلاق جهاز استقبال الحدث باستخدام اسم المضيف ، المحدد عند إعداد مجموعة الموقع http: // computerHostName/Sites/CompanyName. هذا يعمل بشكل جيد ، لا يتم إلقاء استثناء.

//Combine Both AfterProperties And ListItem
var ListProperties = new List<KeyValuePair<string, object>>();
ListProperties.AddRange(properties.AfterProperties.ToKeyValue());
ListProperties.AddRange(properties.ListItem.ToKeyValue(p => !p.Sealed));
var AvaliableProperties = ListProperties.Distinct(new KeyValueComparer<object>());
هل كانت مفيدة؟

المحلول

هذه ليست بالضرورة مشكلة SharePoint ، ولكن على الأرجح تصل إلى الطريقة التي يتم بها تكوين IIS على المضيف. يمكن "ربط" موقع معين بعنوان IP واسم مضيف ، وإذا لم يكن اسم المضيف موجودًا في HTTP يتم إرساله بواسطة المتصفح ، فسيعود IIS 404 NOT FOUND.

يمكنك التحقق من ذلك باستخدام متصفح لمعرفة ما إذا كان يمكنك الوصول إلى الموقع حسب عنوان IP.

يمكنك إضافة روابط إضافية إذا لزم الأمر ، ولكن يمكن أن يكون هناك سوى ربط "افتراضي" واحد لكل عنوان IP ، لذلك يمكن أن يكون موقع واحد فقط موجودًا على (في حالتك) 10.0.4.50.

هناك طريقة ممكنة حول الموقف الذي توجد فيه مواقع متعددة ، لكن لا يمكنك استخدام اسم المضيف قد تكون لإضافة ملزمة إلى منفذ آخر غير المنفذ 80 لهذا IP ، لذلك سيصبح عنوان URL الخاص بك مثل http://10.0.4.50:8080/sites/companyName.

نصائح أخرى

هذه ليست مجرد مشكلة IIS ، ولكنها ذات صلة SharePoint أيضًا. تتم الكثير من الرجوع في SharePoint باستخدام عنوان URL كنقطة انطلاق (انظر فقط إلى مُنشئ SPSITE). ثم تتم مقارنة عنوان URL بعنوان URL المعروف في قاعدة بيانات تكوين SharePoint. (وملفات OFR وما إلى ذلك في قاعدة بيانات محتوى الموقع).

يستخدم SharePoint نظامًا يسمى Mappings Access Alternate لتعيين عناوين URL مختلفة إلى "مناطق" تطبيق الويب (الافتراضي ، إنترانت ، الإنترنت ، ... تعريف مخصص). إذا لم يجد عنوان URL "الدقيق" ، فسوف تفشل الأشياء داخليًا (وخاصة البحث "حساس URL").

ثم يأتي جزء IIS إلى اللعب: نظرًا لأنه من المحتمل ألا يكون لدى IIS موقع آخر يعمل على المنفذ 80 ، وبدون وجود Hostheader محدد (لذلك فإنه الافتراضيات إلى machinename) ، أو مع تعيين HosTheader على اسم الجهاز ، سوف تلتقط IIS الطلب ونظرًا لأن SharePoint مرتبط بهذا webapp ، فسيحاول SharePoint معالجته ، ويتطلع إلى عنوان URL ، ولا يجد SharePoint عنوان URL و Thne "Breaks".

يحدث No HosTheader عندما تترك حقل HosTheader فارغًا عند إنشاء تطبيق ويب جديد في SharePoint.

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