الحل: System.IO.FileNotFoundException على “SPSite = SPSite جديد(عنوان url)”

التحديث: نشرت هذه المسألة إلى MSDN هنا (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) والوشم Michael مايكروسوفت ورد بإجابة مختصرة.

أنا خلقت خدمة ويب بمثابة واجهة BDC صديقة إلى قائمة SharePoint. عند استخدام هذا من بلدي بيئة التطوير, عملت غرامة. عندما أنا هاجرت هذه إلى ملقم جديد, هذا خطأ:

System.IO.FileNotFoundException: تطبيق الويب في http://localhost/sandbox تعذر العثور على. تأكد من أن قمت بكتابة عنوان URL بشكل صحيح. إذا كان ينبغي أن يكون عنوان URL خدمة المحتوى الموجود, المسؤول عن النظام قد تحتاج إلى إضافة تعيين URL طلب جديد للتطبيق المقصود. في Microsoft.SharePoint.SPSite...المنشئ(مزرعة سبفارم, أوري ريكويستوري, كونتيكستسيتي المنطقية, أوسيرتوكين سبوسيرتوكين) في Microsoft.SharePoint.SPSite...المنشئ(سلسلة ريكويستورل) في Conchango.xyzzy.GetExistingDocument(سلسلة ميند, سلسلة مزيد, سلسلة تيتليفيلتير) في ج:\الوثائق و 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs SettingsPaulMy DocumentsVisual ستوديو:خط 69

هنا خط 69:

استخدام (موقع SPSite = SPSite جديد("http://localhost/sandbox"))

حاولت الأشكال المختلفة على عنوان URL, بما في ذلك استخدام اسمه الحقيقي على الملقم, عنوان ip الخاص به, مائلين زائدة على عنوان URL, إلخ. حصلت دائماً على هذا الخطأ.

وكنت انتظر جوجل للبحث. الكثير من الناس يواجهون هذه المشكلة, أو صيغ مختلفة, ولكن لا أحد يبدو أن يكون حل.

موس تريكسي قدمت هذه مفصلة الخطأ الذي لم يحدث بالنسبة لي للتحقق من 12 سجلات خلية. في نهاية المطاف, حول 24 بعد ساعات من زميلي أوصى كنت تفعل ذلك, راجعت خارج 12 خلية السجل، ووجدت أن هذا:

حدث استثناء أثناء محاولة الحصول على المزرعة المحلية:
System.Security.SecurityException: غير مسموح بالوصول إلى التسجيل المطلوبة.
في System.ThrowHelper.ThrowSecurityException(الموارد اكسسيبتيونريسورسي) في Microsoft.Win32.RegistryKey.OpenSubKey(اسم السلسلة, منطقية للكتابة) في Microsoft.Win32.RegistryKey.OpenSubKey(اسم السلسلة) في Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() في Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() في Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& المزرعة, قيمة منطقية& إيسجوينيد)
وكانت المنطقة من الجمعية العامة بأن فشل:  جهاز الكمبيوتر

هذا وفتح آفاقاً جديدة للبحث, لذا فإنه يعود إلى Google. التي دفعتني إلى هذا وظيفة المنتدى: http://forums.codecharge.com/posts.php?post_id = 67135. أن لم تساعد حقاً لي ولكن يبدأ تجعلني أعتقد أن هناك مشكلة في قاعدة البيانات و/أو الأمن. أنا واظب و أندرو Connell نشر أخيرا المشغلة يعتقد أنه ينبغي أن أتأكد من أن حساب هوية تجمع التطبيق حق الوصول المناسب إلى قاعدة البيانات. وأعتقد أنه بالفعل. ومع ذلك, زميلي ذهب، وأعطى في التطبيق تجمع هوية حساب الوصول الكامل إلى SQL.

كما أدلت بهذا التغيير, كل شيء بدأ العمل.

ماذا حدث بعد أفضل محسوباً قصائد شعر الهايكو قصيدة:

مشاكل رفع أيديهم.
يمكنك سوينغ وملكة جمال. حاول مرة أخرى.
النجاح! لكن كيف? لماذا?

وقالت أنها لم أكن أريد ترك الأمور وحدها مثل هذا, مفضلة لإعطاء الإذن المطلوب الحد الأدنى (وربما مع التطلع إلى كتابة إدخال مذكرات على الويب; يضربها لكمه, موهاهاهاهاها!).

وقالت إزالة أذونات المتعاقبة من حساب هوية تجمع التطبيق حتى … لم تعد هناك أي إذن صريح لحساب هوية تجمع التطبيق على الإطلاق. تواصل خدمة ويب تعمل على ما يرام.

ذهبنا وتمهيد الملقمات. واصل كل شيء يعمل بشكل جيد.

حتى, باختصار: ونحن أعطت هوية تجمع التطبيق الوصول الكامل وثم استغرق بعيداً. خدمة ويب وبدأ عمله وابدأ توقفت عن العمل. غريبة.

إذا كان أحد يعرف لماذا التي ينبغي أن عملوا, يرجى ترك تعليق.

</نهاية>

[تشنورتي] بطاقات:

11 افكار عن "الحل: System.IO.FileNotFoundException على “SPSite = SPSite جديد(عنوان url)”

  1. إدغار ويلسون

    مرحبا, كما أتيحت لي نفس المشكلة. في حين وضع على نفس الجهاز مع ملقم sharepoint, لقد كان استخدام خادم التطوير Asp مع أذونات مختلفة ليس من المؤكد لا يعمل تحت نفس الهوية ك sharepoint (مزيد من المعلومات حول هذا هنا: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) ماذا في ذلك, أنا قمت بإنشاء موقع جديد في IIS (منفذ 8080) بنفس الهوية ك sharepoint.. وويلا.
    ويساعد هذا الأمل

    الرد
  2. الجن

    Writeup لطيفة. نحن تواجه نفس المشكلة بالضبط الآن. هذا النوع من السلوك غير متوقعة/غير المبررة والمشكلة بالضبط لماذا لا يمكن أن يقف الكثير من المطورين يعملون مع SharePoint!

    الرد
  3. ماركوس

    هذا الجزء من المادة….”أعطى التطبيق تجمع هوية حساب الوصول الكامل إلى SQL”, يمكنك وضع? “هوية تجمع التطبيق” افترض يعني تجمع التطبيقات من موقع sharepoint, لكن “حق الوصول الكامل إلى SQL”, كيف يمكنك إعطاء أن? إنشاء تسجيل دخول على ملقم db هوية تجمع التطبيق أعتقد ليست كافية تماما…فهل في الديسيبل محتوى sharepoint حيث يحصل تسجيل الدخول الجديد dbo (?) الوصول إلى? أو غيرها sharepoint ديسيبل في كذلك, مثل db التهيئة? بالنسبة لي صعبة, لأنه لي س db المحتوى على ما يبدو ليست معالجة بمثيل sql server, يبدو أنها تحت “/Servers/14.0/Data Microsoft Office”, على أي حال لا أرى ذلك في sql server mgr….أي أفكار كيف أعطى “حق الوصول الكامل إلى SQL” وفي هذه الحالة? سيكون موضع تقدير أي رد…أنا الرقيقة تمسك الحصول على بلدي التطبيق وحدة التحكم لإنشاء كائن spsite!!

    الرد

اترك ردًا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها *