Bonjour,
Voilà une bonne semaine que je développe une application Silverlight avec côté serveur un service WCF hébergé dans un Service Windows. Sur ce même serveur, j'ai IIS (qui héberge un intranet).
En développement local du service WCF, R.A.S. (malgré pas mal de prises de têtes). Mais maintenant que mon service WCF tourne côté serveur distant, je souhaite pouvoir faire communiquer mon client Silverlight avec WCF.
Problème numéro 1 : Il s'agit d'un serveur en production ...
Problème numéro 2 : Dès que j'active le service WCF (je démarre le service Windows associé), au lieu d’accéder au site extranet, j'ai une belle page WCF :
Donc pour résumé, WCF prend le dessus sur le site web actuel. Bien entendu je ne veux pas ...Il s'agit d'un service Windows© Communication Foundation.
La publication des métadonnées pour ce service est actuellement désactivée.
Si vous avez accès au service, vous pouvez activer la publication [...] etc.
Et je dois avouer que je ne maîtrise pas les informations du fichier de configuration App.config , donc l'erreur est certainement dedans :
Je pense à <baseAddresses>, mais ce dernier doit être présent pour le CrossDomain je suppose...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> <behaviors> <serviceBehaviors> <behavior name="ServiceConsole.ServiceMessagerieBehavior"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior> </serviceBehaviors> <endpointBehaviors> <behavior name="CrossDomainServiceBehavior"> <webHttp/> </behavior> </endpointBehaviors> </behaviors> <services> <service behaviorConfiguration="ServiceConsole.ServiceMessagerieBehavior" name="ServiceConsole.ServiceMessagerie"> <endpoint address="" binding="basicHttpBinding" contract="ServiceConsole.IServiceMessagerie"> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> <host> <baseAddresses> <add baseAddress="http://localhost:80/ServiceConsole/ServiceMessagerie" /> </baseAddresses> </host> </service> <service name="ServiceConsole.CrossDomainService"> <host> <baseAddresses> <add baseAddress="http://localhost:80/" /> </baseAddresses> </host> <endpoint address="" binding="webHttpBinding" contract="ServiceConsole.ICrossDomainService" behaviorConfiguration="CrossDomainServiceBehavior"/> </service> </services> </system.serviceModel> </configuration>
Merci par avance pour votre aide !
Maxime,
Partager