АБНАЎЛЕННЕ: Я адказваў на гэтае пытанне ў MSDN тут (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.
Я стварыў вэб-сэрвісу ў якасці BDC-дружалюбных фасад to a SharePoint list. When I used this from my development environment, усё працавала нармальна. Калі я гэта мігравалі на новы сервер, Я сутыкнуўся з гэтай памылкай:
System.IO.FileNotFoundException: Вэб-дадатак на http://localhost/sandbox не можа быць знойдзены. Пераканайцеся, што вы набралі адрас правільна. Калі URL павінны служыць існуючы кантэнт, Сістэмны адміністратар можа спатрэбіцца, каб дадаць новае адлюстраванне URL запыту да меркаванага прымяненню. у Microsoft.SharePoint.SPSite .. CTOR(SPFarm грузаў, Уры RequestUri, Булевы contextSite, SPUserToken UserToken) у Microsoft.SharePoint.SPSite .. CTOR(Радок requestUrl) у Conchango.xyzzy.GetExistingDocument(Радок minId, Радок maxId, Радок назвы фільтра) ў C:\Дакументы і Settings Павел Мае дакументы Visual Studio 2005 Projects XYZZY BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:лінія 69 |
Вось лінія 69:
выкарыстанне (SPSite сайта = новы SPSite("http://localhost/sandbox"))
Я спрабаваў розныя варыяцыі на URL, у тым ліку з выкарыстаннем рэальнага імя сервера, яго IP адрас, слеш у канцы па спасылцы, і г.д.. I always got that error.
Я Google to research it. Lots of people face this issue, або змены яго, але ніхто, здавалася, ён вырашыў.
Tricksy MOSS ўмове, што такія падрабязныя звесткі пра памылку, што яна не прыходзіла мне ў галаву праверыць 12 hive logs. У канчатковым рахунку, аб 24 гадзін пасля мой калега рэкамендавалі мне зрабіць гэта, Я праверыў 12 вулей часопіс і знайшоў:
Выключэнне адбылося пры спробе набыць мясцовая гаспадарка:
System.Security.SecurityException: Запытаны доступ да рэестру не дапускаецца.
у System.ThrowHelper.ThrowSecurityException(ExceptionResource рэсурсаў) ў
(Радок назвы, Булевы запісу) ў
(Радок назвы) ў
() ў
() ў
(SPFarm& ферма, Лагічны& isJoined)
Зона зборкі, якія не былі: MyComputer
|
Гэта адкрыла новыя магчымасці для даследавання, так што гэта было да Google. Гэта прывяло мяне да гэтага Форум паведамленне: HTTP://forums.codecharge.com / posts.php?post_id = 67135. That didn’t really help me but it did start making me think there was a database and/or security issue. I soldiered on and Andrew Connell ў post finally triggered the thought that I should make sure that the application pool’s identity account had appropriate access to the database. I thought it already did. Аднак, мой калега пайшоў і даў асобу прыкладанне басейн кошт поўнага доступу да SQL.
Як толькі яна зрабіла, што змяненне, everything started working.
Што адбылося далей, лепш за ўсё выяўляецца ў выглядзе хайку верш:
Праблемы падняць рукі.
You swing and miss. Try again.
Поспех! But how? Чаму?
Яна не хацела, каб пакінуць усё як адзін, што, аддаючы перавагу, каб даць мінімальна неабходнага дазволу (і, магчыма, з прыцэлам на напісанне блога; Я забіў яе да ўдару, muhahahahaha!).
Яна зняла паслядоўных дазволу ад асобы ўліковага запісу пула прыкладанняў да … there was no longer any explicit permission for the app pool identity account at all. The web service continued to work just fine.
We went and rebooted the servers. Everything continued to work fine.
Так, рэзюмаваць: we gave the app pool identity full access and then took it away. The web service started working and never stopped working. Bizarre.
Калі хто ведае, чаму гэта павінна працавалі, калі ласка, пакіньце каментар.
</канец>