J'étudie la possibilité de déployer des services WCF vers une batterie SharePoint/WebApplication/Site/Web via une fonctionnalité SharePoint sans utiliser la classe SPWebConfigModification ou sans modifier manuellement web.config. Le Gille virtual path fix a déjà été appliqué, cela ne tient pas compte de cela. Le plus loin que je suis en mesure d'obtenir à ce jour est la création d'une classe ServiceHostFactory personnalisée que je fais référence dans le fichier .svc comme ceci:Déployer des services WCF dans SharePoint sans modifier Web.Config?
<%@ ServiceHost Language="C#" Debug="true" Service="Company.Namespace.ServiceClass" Factory="Company.Namespace.CustomServiceHostFactory" %>
<%@ Assembly Name="Company.WCFCustomLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0000000000000000" %>
Je remplaçant ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
dans mon service personnalisé usine d'accueil et l'application la diverse configuration de liaison/endpoint à l'intérieur. Mais le problème que je rencontre est que la méthode n'est même pas appelée lorsque j'interroge le fichier .svc dans mon navigateur web. J'avais l'impression que IIS va essayer de créer un ServiceHost en utilisant le ServiceHostFactory que j'ai spécifié dès que j'appelle le .svc dans mon navigateur web. Est-ce que je me trompe totalement? Est-ce que quelqu'un a déjà essayé de faire quelque chose comme ça avant? Si oui, y a-t-il quelque chose qui me manque? Est-il possible de configurer le ServiceHost complètement par programme ou dois-je encore jouer avec les balises <system.serviceModel>
dans web.config?
Qu'est-ce que * * vous obtenez lorsque vous interrogez le fichier '.svc' dans votre navigateur Web? –
Je reçois une page HTML vierge. Puis, quand j'appuie sur rafraîchir, il est écrit "Service non disponible". –
Ok, donc il semble que IIS se ferme comme par magie, ce qui explique pourquoi je recevais le message "Service Unavailable". Ma méthode CreateServiceHost est actuellement appelée, mais je reçois toujours une page html vide lorsque je navigue vers http: //server/_vti_bin/myservice.svc, ce qui signifie que je ne configure toujours pas correctement tous les liens/points de terminaison par programmation . Le livre de Juval ne me manque pas maintenant! –