J'ai un site web de service web WCF, une bibliothèque de service web, et un et j'ai un projet de domaine qui utilise Fluent nHibernate.
Lorsque je lance le projet WCF et que j'exécute un service web invoke, cela fonctionne bien, tant que ce n'est pas un service qui accède à la base de données.
Si j'invoque un service web qui accède à la base de données, j'obtiens toujours une erreur ici :
_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();
Qui dit : Une configuration invalide ou incomplète a été utilisée lors de la création d'une SessionFactory. Consultez la collection PotentialReasons et InnerException pour plus de détails.
L'exception intérieure dit : Une erreur liée au réseau ou à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur n'a pas été trouvé ou n'était pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur : TCP Provider, error : 0 - Aucune connexion n'a pu être établie car la machine cible l'a activement refusée).
Je n'obtiens pas ce message si je fais ce qui suit : 1) Je fais un clic droit sur le webservice.svc et je copie le lien "view in browser". 2) (dans le client de test WCF) cliquez avec le bouton droit de la souris sur "my service projects"-> "add service" et collez l'URL du point 1) ci-dessus.
Je travaille comme ça depuis un moment, mais c'est un peu plus lent et cela signifie que je ne peux pas déboguer, ce qui n'est pas vraiment acceptable.
Qu'est-ce qui se passe ici ? Il semble qu'il s'agisse d'un problème d'autorisation de connexion à la base de données, mais comme je suis novice dans ce domaine, il se peut que ce soit autre chose.
J'ai essayé de donner la permission à tous les utilisateurs auxquels je pense d'accéder à la base de données, mais rien n'y fait. Quel utilisateur le client de test WCF utilise-t-il, quelqu'un le sait-il ?
Le résultat de ce problème est que je ne peux pas déboguer mon service web, ce qui est un problème pour moi. Je suppose que je pourrais essayer d'attacher au processus ou autre, mais ce ne serait pas idéal car j'ai beaucoup de travail sur les services web à l'horizon.