如何在自定义SharePoint Web服务中使用topologymanager过时的命名空间?

时间:2011-04-20 07:12:34

标签: web-services sharepoint-2007

我无法在命名空间Microsoft.SharePoint.Portal.Topology中使用Topologymanager类。我搜索了很多。这很紧急。感谢

我收到以下错误消息。当我在自定义Web服务中包含名称空间“Microsoft.SharePoint.Portal.Topology”时。

  

检测到运行时异常。   细节如下。消息:无法打开   请求数据库“WSS_Content_Dev3”   通过登录。登录失败。登录   用户失败

     

技术细节:   System.Data.SqlClient.SqlException:   无法打开数据库   请求“WSS_Content_Dev3”   登录。登录失败。登录失败   对于用户。   在   System.Data.SqlClient.SqlInternalConnection.OnError(SQLEXCEPTION   exception,Boolean breakConnection)
  在   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject   stateObj)at   System.Data.SqlClient.TdsParser.Run(RunBehavior   runBehavior,SqlCommand cmdHandler,   SqlDataReader dataStream,   BulkCopySimpleResultSet   bulkCopyHandler,TdsParserStateObject   stateObj)at   System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(布尔   enlistOK)at   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo   serverInfo,String newPassword,   Boolean ignoreSniOpenTimeout,Int64   timerExpire,SqlConnection   拥有对象)   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(字符串   host,String newPassword,Boolean   redirectedUserInstance,SqlConnection   owningObject,SqlConnectionString   connectionOptions,Int64 timerStart)
  在   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(的SqlConnection   owningObject,SqlConnectionString   connectionOptions,String newPassword,   Boolean redirectedUserInstance)at   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity   identity,SqlConnectionString   connectionOptions,Object   providerInfo,String newPassword,   SqlConnection owningObject,Boolean   redirectedUserInstance)at   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions   options,Object poolGroupProviderInfo,   DbConnectionPool池,DbConnection   拥有连接)   System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(的DbConnection   owningConnection,   DbConnectionPoolGroup poolGroup)at   System.Data.ProviderBase.DbConnectionFactory.GetConnection(的DbConnection   拥有连接)   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(的DbConnection   outerConnection,DbConnectionFactory   connectionFactory)at   System.Data.SqlClient.SqlConnection.Open()   在   Microsoft.Office.Server.Data.SqlSession.OpenConnection()   在   Microsoft.Office.Server.Data.SqlSession.ExecuteNonQuery(SqlCommand的   命令)at   Microsoft.Office.Server.Data.SqlDatabaseManager.HasAccess(字符串   用户)at   Microsoft.Office.Server.Administration.SharedResourceProvider.SynchronizeAccessControl(SharedComponentSecurity   sharedApplicationSecurity)at   Microsoft.Office.Server.Administration.SharedResourceProvider.Microsoft.Office.Server.Administration.ISharedComponent.Synchronize()




1 个答案:

答案 0 :(得分:0)

终于得到了解决方案:

直接在Web服务中使用templogymanager,或者甚至在自定义Web服务的顶部包含命名空间“Microsoft.SharePoint.Portal.Topology”。它会给你错误。我做了以下事情。

  1. 我创建了一个帮助项目,我在其中使用了命名空间 Microsoft.SharePoint.Portal.Toplogy
  2. 编译并将dll放入 GAC
  3. 将.dll引用添加到我的项目中。
  4. 然后我在自定义Web服务中调用了helper方法。
  5. 问题解决。