Blaise Braye, IT Edition

Aller au contenu | Aller au menu | Aller à la recherche

mardi, 20 décembre 2011

Optimiser les temps de compilation des projets WCF RIA Services

J'ai enfin trouvé ce qui prend temps de temps au processus de compilation des projets wcf ria dans visual studio 2010: la fonctionalité LiveIntelliSense Après désactivation de cette fonctionnalité, le debug passe de pénible à appréciable, pas moins que ça. Cet article explique le problème et propose la solution: LiveIntelliSenseDeprecated Au cas où le lien mourrait voici la manipulation à effectuer pour désactiver cette source de problèmes:
1. ouvrir regedit et suivre le chemin ci-dessous:
On a 32-bit machine:

HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\WCFRIAServices\v1.0\

On a 64-bit machine:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\WCFRIAServices\v1.0\

2. Dans cette entrée, ajouter (ou éditer) l'entrée de type DWORD : "DisableLiveIntelliSense"; la valeur '1' désactivera la fonctionnalité

jeudi, 8 décembre 2011

Debug Tools pour travailler avec WCF

Je viens de passer deux jours sur un problème qui aurait pu être découvert instantanément si j'avais utilisé les bons outils tout de suite. (silverlight vs wcf ria services)

Généralement, les erreurs sont assez simple à obtenir via des points d'entrées standard tels qu'une récupération systématique des exceptions non gérées au niveau de l'application. Néanmoins, quand le problème vient d'une couche inférieure (data, transport), cela peut se corser sévèrement. il est possible de diagnostiquer rapidement les symptomes à l'aide de l'outil Fiddler. Une fois chargé, ce dernier écoute tous les allers-retours partant de votre client web. Mais certaines erreurs sont très sourdes : erreur 504, le serveur ne retourne pas de réponses...??? comment est-ce possible? a-t-on déjà vu une requête web sans réponse? à moins d'un problème sur la bande, ce devrait être impossible... Mais voilà, Microsoft a réussi à faire ça dans son conception des services wcf --> si une exception se produit à ce niveau, on en entend pas parler, on n'est même pas au courant qu'il y a un soucis à ce niveau. BRAVO.

Bref, une fois ce fait acquis, on cherche dans cette direction et on trouve rapidement ce type de post: wcf-ria-services-not-found-error-message.aspx et là, on se sent très bête... Cet outil devrait être l'un des premiers à prendre en main lorsque l'on développe avec des services WCF, c'est indispensable!

MS n'est certainement pas à blâmer dans cette histoire, alors Blaise, si tu développes des services WCF, il faut utiliser "Microsoft Trace Viewer" dès que Fiddler te parle d'une erreur 504!

jeudi, 30 décembre 2010

Sélection d'un template contextuel

Aujourd'hui, je cherchais à pouvoir sélectionner un contenu pour un contrôle lié à des données en fonction d'un contexte d'utilisation. En l'occurence, mon objectif est d'afficher les données d'une gridview dans un format différent selon que l'utilisateur veut un affichage détaillé ou non.
C'est finalement la solution trouvée sur le blog de luisabreu qui a fonctionné. Lors de la liaison de la grille au données, je fais une vérification de mode d'affichage pour sélectionner le contenu adéquat:

var tplf = (TemplateField) dgvCatalogue.Columns[0];
switch (pf1.DisplayMode)
{
  case PaginationFeatures.ModeGrid:
    tplf.ItemTemplate = templates.Templates["grid"];
    break;
  case PaginationFeatures.ModeDetails:
    tplf.ItemTemplate = templates.Templates["details"];
    break;
}

mardi, 21 décembre 2010

Accès aux documents d'une librairie SharePoint de documents via WebDav

Nous avons récemment eu des soucis pour manipuler les documents hébergés dans WSS à l'aide de WebDav. Ce problème est survenu suite à l'installation du "User Desktop Experience" sur le serveur windows server 2008 R2 qui héberge le portail (sous IIS7.5). Ce serveur est également le contrôleur de domaine principal du parc informatique.

le message d'erreur était assez difficile à interpréter, la commande net use nous retournait une erreur 67... vraissemblablement un "problème de mappage".

Après avoir cherché longuement une solution, on a bien fini par comprendre que WSS propose son propre redirecteur WebDav. Nous nous sommes donc occupés de désactiver WebDav sur tous les sites, le problème persistait... Nous avons alors cherché à voir si c'est un problème de droit, force est de constater que ça ne venait pas de là.
C'est finalement ce billet qui donne la bonne solution. Désactiver le redirecteur WebDav d'IIS ne suffit pas, il faut également supprimer le module "WebDAVModule" de la liste des modules IIS pour le site SharePoint concerné.

mercredi, 15 décembre 2010

Accéder aux bases de données exploitées par SharePoint 2003 (WSS3)

Nous cherchions à pouvoir réaliser des sauvegardes ciblées de wss3. Dans l'administration de WSS on peut voir que l'instance de la base de données s'appelle MICROSOFT##SSEE. Pour accéder à cette instance, il faut utiliser une chaîne de connexion particulière car il s'agit de l'édition Embedded de SQL Server 2005. On peut lire plus d'informations sur le sujet sur codes-sources.com.

Nous sommes parvenus à nous connecter à cette base de données en spécifiant le nom de serveur suivant:

\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query

Les documents sont stockés dans les tables AllDocs, AllDocsStreams et AllDocVersions (si le versionning est activé).

La documentation concernant les bases de données utilisées et leur structure est disponible sur msdn

- page 1 de 7