西西軟件下載最安全的下載網(wǎng)站、值得信賴(lài)的軟件下載站!

首頁(yè)編程開(kāi)發(fā)C#.NET → Sharepoint 2010開(kāi)發(fā)WebService調(diào)用找不到網(wǎng)站應(yīng)用程序解決方案

Sharepoint 2010開(kāi)發(fā)WebService調(diào)用找不到網(wǎng)站應(yīng)用程序解決方案

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2012/11/20 11:43:33字體大。A-A+

作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: Sharepoint2010

  • 類(lèi)型:辦公軟件大。61KB語(yǔ)言:英文 評(píng)分:3.3
  • 標(biāo)簽:
立即下載

錯(cuò)誤描述:Net 開(kāi)發(fā)WebService調(diào)用Microsoft.SharePoint.dll的服務(wù)器端對(duì)象模型,出現(xiàn)找不到網(wǎng)站的應(yīng)用程序,或者出現(xiàn)500錯(cuò)誤。

錯(cuò)誤截圖:



[Webservice調(diào)用頁(yè)錯(cuò)誤]

System.IO.FileNotFoundException: 找不到位于 http://localhost 的 Web 應(yīng)用程序。請(qǐng)確認(rèn)正確鍵入了此 URL。如果此 URL 需要提供現(xiàn)有內(nèi)容,則系統(tǒng)管理員可能需要添加到指定應(yīng)用程序的新請(qǐng)求 URL 映射。 在 Microsoft.SharePoint.SPSite..ctor(SPFarm farm, Uri requestUri, Boolean contextSite, SPUserToken userToken) 在 Microsoft.SharePoint.SPSite..ctor(String requestUrl) 在 WebApplication1.WebService1.GetWebID(String SiteUrl) 位置 C:\Users\Administrator\Documents\Visual Studio 2010\Projects\WebApplication1\WebApplication1\WebService1.asmx.cs:行號(hào) 26


[完整的錯(cuò)誤提示]

[WebMethod(Description = "獲取WebID")]

public string GetWebID(string SiteUrl)

{

SPSite site = null;

SPWeb web = null;

site = new SPSite(SiteUrl);

web = site.OpenWeb();

return "ID:" + web.ID.ToString();

}


[測(cè)試代碼,獲取WebID]

  最初以為是備用訪(fǎng)問(wèn)映射,或者修改Host文件的問(wèn)題,因?yàn)檎也坏綉?yīng)用程序么,然后在瀏覽器里打開(kāi)url,發(fā)現(xiàn)可以打開(kāi);再考慮是不是權(quán)限不夠,因?yàn)槭莕et調(diào)用sharepoint的dll,然后提權(quán)進(jìn)行操作,發(fā)現(xiàn)也不能解決問(wèn)題。

  查了很久,后來(lái)發(fā)現(xiàn),代碼預(yù)覽有問(wèn)題,但是發(fā)布以后,調(diào)用WebService卻沒(méi)有問(wèn)題,感覺(jué)很奇怪,但是沒(méi)有辦法進(jìn)行調(diào)試了。后來(lái)查資料,發(fā)現(xiàn)說(shuō)VS的iis對(duì)64位支持有問(wèn)題,雖然自己并不清楚是不是這里的問(wèn)題,但是發(fā)布以后,調(diào)試本機(jī)的iis,發(fā)現(xiàn)問(wèn)題不存在了(感謝這位博主的文章,參考博文地址附后)。

解決方法: 把自己建的項(xiàng)目發(fā)布到本地iis,然后 屬性 – web – 使用本地iis web服務(wù)器,填寫(xiě)格式[url:port/網(wǎng)站名稱(chēng)],然后可以調(diào)試了。



  修改以后,發(fā)現(xiàn)調(diào)用的時(shí)候,還有拋黃頁(yè)的現(xiàn)象[“拒絕訪(fǎng)問(wèn)。 (異常來(lái)自 HRESULT:0x80070005 (E_ACCESSDENIED))”],后來(lái),經(jīng)朋友提醒,發(fā)現(xiàn)木有提權(quán),菜鳥(niǎo)就是菜鳥(niǎo),之前調(diào)試的暈頭轉(zhuǎn)向,居然忽略了提權(quán)。

提權(quán)代碼:

SPSecurity.RunWithElevatedPrivileges(delegate()
{

代碼段….
});

  再有就是,有人說(shuō)寫(xiě)控制臺(tái),也會(huì)出現(xiàn)找不到應(yīng)用程序的情況,將生成的目標(biāo)平臺(tái)調(diào)成64位,或者調(diào)成[Any cpu],自己到?jīng)]有遇到過(guò),不過(guò)這些對(duì)WebService調(diào)用sharepoint.dll是不管用的。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱(chēng):
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)