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

Web services 如何在自定义SharePoint Web服务中使用topologymanager过时命名空间?,web-services,sharepoint-2007,Web Services,Sharepoint 2007,我无法在命名空间Microsoft.SharePoint.Portal.Topology中使用Topologymanager类。我找了很多。这很紧急。谢谢 我得到以下错误。在自定义Web服务中包含名称空间Microsoft.SharePoint.Portal.Topology时 检测到运行时异常。 详情如下。消息:无法打开 已请求数据库WSS\u Content\u Dev3 通过登录。登录失败。登录 对用户失败 技术细节: System.Data.SqlClient.SqlException:

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

我得到以下错误。在自定义Web服务中包含名称空间Microsoft.SharePoint.Portal.Topology时

检测到运行时异常。 详情如下。消息:无法打开 已请求数据库WSS\u Content\u Dev3 通过登录。登录失败。登录 对用户失败

技术细节: System.Data.SqlClient.SqlException: 无法打开数据库 WSS\u内容\u Dev3由 登录。登录失败。登录失败 供用户使用。 在 System.Data.SqlClient.SqlInternalConnection.OnErrorSqlException 异常,布尔断开连接 在 System.Data.SqlClient.TDSpaser.ThroweException和WarningDSParserStateObject stateObj at System.Data.SqlClient.TdsParser.runbehavior 运行行为,SqlCommand cmdHandler, SqlDataReader数据流, BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj at System.Data.SqlClient.SqlInternalConnectionDS.CompleteLoginBoolean 登记在 System.Data.SqlClient.SqlInternalConnectionDS.AttemptOneLoginServerInfo serverInfo,字符串newPassword, 布尔值IgnoresInOpenTimeout,Int64 timerExpire,SqlConnection 拥有对象在 System.Data.SqlClient.SqlInternalConnectionDS.LoginOfAIloverstring 主机,字符串newPassword,布尔值 重定向导出实例,SqlConnection owningObject,SqlConnectionString 连接选项,Int64 timerStart 在 System.Data.SqlClient.SqlInternalConnectionDS.OpenLoginEnlistSqlConnection owningObject,SqlConnectionString connectionOptions,字符串newPassword, 布尔重定向EduseInstance at System.Data.SqlClient.SqlInternalConnectionDS..ctorDbConnectionPoolIdentity 标识,SqlConnectionString 连接选项、对象 providerInfo,字符串newPassword, SqlConnection owningObject,布尔型 重定向导出实例在 System.Data.SqlClient.SqlConnectionFactory.CreateConnectionDbConnectionOptions 选项、对象池组ProviderInfo、, DbConnectionPool池,DbConnection 拥有连接在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnectionDbConnection 拥有连接, 数据库连接池组池组位于 System.Data.ProviderBase.DbConnectionFactory.GetConnectionDbConnection 拥有连接在 System.Data.ProviderBase.DbConnectionClosed.OpenConnectionDbConnection 外部连接,数据库连接工厂 连接工厂 System.Data.SqlClient.SqlConnection.Open 在 Microsoft.Office.Server.Data.SqlSession.OpenConnection 在 Microsoft.Office.Server.Data.SqlSession.ExecuteOnQuerySqlCommand 指挥 Microsoft.Office.Server.Data.SqlDatabaseManager.HasAccessString 用户位于 Microsoft.Office.Server.Administration.SharedResourceProvider.SynchronizeeAccessControlSharedComponentSecurity sharedApplicationSecurity位于 Microsoft.Office.Server.Administration.SharedResourceProvider.Microsoft.Office.Server.Administration.ISharedComponent.Synchronize

最终得到了解决方案:

当您直接在web服务中使用templogymanager,甚至在自定义web服务的顶部包含名称空间Microsoft.SharePoint.Portal.Topology时。它给你错误。我做了下面的事情

我创建了使用名称空间Microsoft.SharePoint.Portal.Topology的助手项目。 编译它并将dll放入GAC。 将.dll引用添加到我的项目中。 然后,我在自定义web服务中调用了helper方法。 解决问题。
是因为这个吗?当我将web服务dll复制到托管站点时,获取SharePoint站点上下文[链接],然后它就可以工作了。我无法找到确切的解决方案。虚拟目录已映射到\\Server\u Name\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI目录。为此,我必须添加SharePoint Server修补程序以解决此问题。