无效或不完整的配置;在“WCF测试客户端”中运行时
本文关键字:测试 WCF 客户端 运行时 配置 无效 | 更新日期: 2023-09-27 18:15:31
我有一个WCF web服务网站,web服务库和一个,我有一个使用Fluent nHibernate的域项目。
当我运行WCF项目并运行调用web服务时,它工作良好,只要它不是访问数据库的服务。
如果我调用访问DB的web服务,我总是在这里得到一个错误:
_sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(@"Server=MYSERVER;database=MYDATABASE;Trusted_Connection=true;")
.ShowSql()
)
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf<WhygoDomain.Location>())
.ExposeConfiguration(cfg => new SchemaExport(cfg)
/* .Create(true, true)*/)
.BuildSessionFactory();
说:创建SessionFactory时使用了无效或不完整的配置。
查看PotentialReasons集合和InnerException以了解更多细节。内部异常表示:在建立到SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名是否正确,SQL Server是否配置为允许远程连接。(provider: TCP provider, error: 0 -由于目标机器主动拒绝,无法建立连接)
如果我执行以下操作,我不会得到此消息:1)右键单击webservice。并复制"在浏览器中查看"链接。2)(在WCF测试客户端中)右键单击"我的服务项目"->"添加服务",粘贴上面
中的URL我已经这样工作了一段时间,但它有点慢,这意味着我不能调试,这是不可接受的。
这是怎么回事?这似乎是一个连接到数据库的权限问题,但我是新的,所以它可能是别的东西。
我已经尝试给权限给任何用户我能想到的数据库,但没有改变。WCF测试客户端使用什么用户,有人知道吗?
这个问题的结果是我无法调试我的web服务,这对我来说是一个问题。我想我可以尝试附加到进程或其他东西,但这不会是理想的,因为我有大量的web服务工作在地平线上。
检查您的服务是否以完全信任运行在IIS中。即使可以修改文件web_mediumtrust, OLEDB或ODBC也只能在IIS下完全信任下工作。在C:'Windows'Microsoft.NET'Framework'v4.0.30319' config中,您可以在SecurityClasses部分添加:
<SecurityClass Name="OleDbPermission" Description="System.Data.OleDb.OleDbPermission, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<SecurityClass Name="OdbcPermission" Description="System.Data.OleDb.OdbcPermission, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
连接字符串是否设置为windows身份验证?如果是这样,将其设置为SQL Server身份验证,看看它是否仍然可以在本地测试。还要检查数据库是否设置为同时使用Windows身份验证和SQL Server身份验证。