流利的休眠"invalid or incomplete configuration"在"WCF Test Client"中运行时



我有一个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:WindowsMicrosoft.NETFrameworkv4.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身份验证。

最新更新