I-UPDATE: I-post ang tanong na ito sa MSDN dito (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.
Lumikha ako ng serbisyo sa web upang kumilos bilang isang BDC-friendly harapan to a SharePoint list. When I used this from my development environment, ito ay nagtrabaho fine. Kailan ko migrate na ito sa isang bagong server, Nakatagpo ako ng error na ito:
System.IO.FileNotFoundException: Ang mga Web application sa http://localhost/sandbox ay hindi mahanap. Pinapatunayan na ikaw ay tama ang URL. Kung ang URL ay dapat na naghahain ng umiiral na nilalaman, ang system administrator ay maaaring kailangan upang magdagdag ng bagong kahilingan URL pagmamapa sa nilalayon application. sa Microsoft.SharePoint.SPSite .. ctor(SPFarm bukid, Uri requestUri, Boolean contextSite, SPUserToken userToken) sa Microsoft.SharePoint.SPSite .. ctor(String requestUrl) sa Conchango.xyzzy.GetExistingDocument(String minId, String maxId, String pamagat filter) sa C:\Documents and Settings Paul My Documents Visual Studio 2005 Proyekto xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:linya 69 |
Narito ang linya 69:
paggamit (SPSite site = bagong SPSite("http://localhost/sandbox"))
Sinubukan kong iba't-ibang mga pagkakaiba-iba sa mga URL, kabilang ang paggamit ng tunay na pangalan ng server, nito IP address, trailing slashes sa URL, at iba pa. I always got that error.
Ginamit ko Ang Google to research it. Lots of people face this issue, o mga pagkakaiba-iba ng mga ito, ngunit walang isa tila na ito malulutas.
Makisig Moss ibinigay tulad ng isang detalyadong error na hindi ito mangyayari sa akin upang suriin ang 12 hive logs. Eventually, tungkol sa 24 oras matapos aking kasamahan Inirerekumenda gagawin ko kaya, I-check out ang 12 kaharian ng mga laywan log at natagpuan na ito:
Exception naganap na error habang sinusubukang upang makuha ang mga lokal na bukid:
System.Security.SecurityException: Hiniling na registry access ay hindi pinapayagan.
sa System.ThrowHelper.ThrowSecurityException(ExceptionResource mapagkukunan) sa
(String pangalan, Boolean writable) sa
(String pangalan) sa
() sa
() sa
(SPFarm& bukid, Boolean& isJoined)
Ang Zone ng assembly na nabigo noon ay: MyComputer
|
Ito ay nagbukas ng mga bagong avenues ng pananaliksik, kaya ito ay bumalik sa Ang Google. Na humantong sa akin na ito forum post: http://forums.codecharge.com / posts.php?post_id = 67,135. 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 ni 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. Gayunman, aking kasamahan nagpunta at ibinigay ang app na pool pagkakakilanlan account ganap na access sa SQL.
Sa sandali na siya ay ginawa ang pagbabagong iyon, everything started working.
Ano ang nangyari susunod ay pinakamahusay na ipinahiwatig bilang isang hayku tula:
Problema sa itaas ang kanilang mga kamay.
You swing and miss. Try again.
Tagumpay! But how? Bakit?
Hindi niya ay nais na mag-iwan mga bagay tulad ng nag-iisa na, preferring upang bigyan ang minimum na kinakailangang pahintulot (at marahil ay may isang mata sa pagsusulat ng isang blog entry; Matalo ko siya sa mga pamutas, muhahahahaha!).
Inalis niya ang sunud-sunod na pahintulot mula sa app account pool pagkakakilanlan hanggang sa … 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.
Kaya, sa paglalagom: we gave the app pool identity full access and then took it away. The web service started working and never stopped working. Bizarre.
Kung sinuman ang nakakaalam kung bakit na dapat nakapagtrabaho, mangyaring mag-iwan ng komento.
</dulo>