2010-04-19 4 views
0

Je tente d'héberger un service WCF dans SharePoint. J'ai configuré le service pour être compatible avec ASP.NET pour me permettre l'accès à l'information et HttpContext session deAdresses de base WCF dynamiques dans SharePoint

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 
public class MISDataService : IMISDataService { ... } 

Et ma configuration ressemble à ceci

<system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
    <services> 
     <service name="MISDataService"> 
      <endpoint address="" binding="webHttpBinding" contract="MISDataViews.IMISDataService" /> 
     </service> 
    </services>   
</system.serviceModel> 

Bien que cela me donne accès à la HTTP en cours contexte, le serivce est toujours hébergé sous le domaine racine, soit http://www.mydomain.com/_layouts/MISDataService.svc.

Dans SharePoint, l'URL en cours d'accès vous fournit des informations contextuelles spécifiques sur le site actuel via la classe SPContext. Donc, avec le service hébergé dans un répertoire virtuel, je voudrais qu'il soit disponible sur plusieurs adresses, par exemple.

http://www.mydomain.com/_layouts/MISDataService.svc 
http://www.mydomain.com/sites/site1/_layouts/MISDataService.svc 
http://www.mydomain.com/sites/site2/_layouts/MISDataService.svc 

afin que le service puisse déterminer les données à retourner en fonction du contexte actuel.

Est-il possible de configurer dynamiquement l'adresse de point de terminaison? Ou est la seule alternative pour héberger le service dans un endroit et ensuite passer le "contexte" à un certain comment?

Répondre

0

Vous n'êtes pas un spécialiste WCF, mais ne pouvez-vous pas spécifier le point de terminaison lors de la connexion au service?

+0

Vous pouvez mais chaque fois que le service s'exécute il semble être sous la racine du domaine, c'est à dire si vous demandez http://www.mydomain.com/sites/site1/_layouts/MISDataService.svc, le service s'exécute réellement sous le contexte de http://www.mydomain.com/_layouts/MISDataService.svc. Cela pourrait être un obstacle pour SharePoint, mais je ne le pense pas ... –

Questions connexes