WebServices调用SharePoint站点时报 找不到应用程序错误及解决方法

    

    最近做了一下通过webservices调用sharepoint站点的练习。
    代码大致如下:
     [WebMethod]
        public string NoRunWithElevatedPrivilege()
        {
            using (SPSite site = new SPSite("http://mcjeremy:9000/"))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    return web.Lists[0].Title + "用户名:" + web.CurrentUser.Name;
                }
            }
        }

       但是,在将这个ws   Host到一个asp.net站点后,运行代码,却报“找不到http://mcjeremy:9000/应用程序”的错误

       很莫名的错误,单独打开http://mcjeremy:9000/却,完全没有问题。

       最后,才发现了这个解决方法:


       打开Host的asp.net站点使用的应用程序池,在其属性中,将其“标识”部分改为使用和http://mcjeremy:9000/这个SP站点
       的应用程序池的标识一样(即帐户和密码一致)就可以了。

       不知道为什么MS不给个帐户相关的提示错误,而是找不到应用程序,,,郁闷~~~~

 

---- 在这中间,碰到了一个相当不解的问题:
       代码中的  return web.Lists[0].Title + "用户名:" + web.CurrentUser.Name;

       如果改为  return "用户名:" + web.CurrentUser.Name; 的话,就会报错????????? 

       哪位达人可以给讲讲啷个会这样子的?

posted @ 2009-07-13 18:46  mcjeremy  阅读(716)  评论(0编辑  收藏  举报
------------------------------------ 心静似高山流水不动,心清若巫峰雾气不沾 ------------------------------------