Blog du Pôle .NET

Partager pour mieux développer...

Web Service HTTP-407 Proxy Access

clock December 1, 2008 05:19 by author yvue

Bonjour,

Un petit morceau de code juste au cas ou ... Pour ceux qui se trouve derrière un proxy et qui souhaite simplement consommer un service Web.
Pensez à specifier l'adresse du proxy !!!

monProxyWS.Proxy = new System.Net.WebProxy("http://Adresse de Mon Proxy");
monProxyWS.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

C'est simple mais ca evite de s'enerver tout seul devant cette fichue erreur 407

Yoann

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Performances WCF

clock September 12, 2008 06:01 by author yvue

Un post interessant sur certaines configurations à mettre en place pour améliorer les perfs WCF

 http://www.iserviceoriented.com/blog/post/Configuring+Performance+Options+-+WCF+Gotcha+3.aspx

Yoann Vue 

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Silverlight Spy

clock September 8, 2008 11:33 by author yvue

Un petit soft bien pratique pour le debuggage de silverlight ...

 http://firstfloorsoftware.com/silverlightspy/

Principe : Faire de l'introspection dans la structure de votre application Silverlight

 Yoann

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Les PageMethods du Framework MS AJAX

clock August 1, 2008 05:22 by author yvue

Aujourd'hui je prends ma casquette "développeur Web capable de faire un peu de Javascript" ... pour vous faire découvrir les "PageMethods"

A quoi ça sert : tout simplement à exécuter du code serveur, côté client . Un simple appel javascript va permettre d'exécuter du code serveur (Enregistrement en base de données ou autres ...). Ceci permet simplement de réaliser des opérations côté serveur sans postback ... exactement le principe d'AJAX.

Pour cela 1ère étape : Activer les PageMethods sur le ScriptManager de votre page :

<
asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>

Seconde étape : Marquer le code serveur que vous souhaitez exécuter.
La méthode doit :

  • être implémentée directement dans la page (pas dans un user control par exemple)
  • être statique
  • être marquée avec les attributs qui vont bien ...

[System.Web.Script.Services.ScriptMethod]
[System.Web.Services.
WebMethod]
public static void MakeSomeJob(string arg1, string arg2){
       .......
}

Troisième étape (La plus dure pour la plupart d'entre nous) : Le javascript 

Comme pour le code serveur, je vous incite à mettre le javascript dans la page et non dans un user control composant la page
La raison : Visual Studio 2008 permet désormais de débugger du code Javascript ... mais seulement lorsqu'il est dans une page ASPX

L'appel se fait à l'aide du mot clé "PageMethods", par exemple :

<script type="text/javascript">

function MakeCodeClient(arg1,arg2) {
    PageMethods.MakeSomeJob(arg1, arg2, MakeSomeJobSuccessCallback, MakeSomeJobFailedCallback);
}

function MakeSomeJobSuccessCallback(res, destCtrl) {
    alert('Cool ça a marché');
}

function MakeSomeJobFailedCallback(res, destCtrl) {
    alert('Zut ... ça n a pas marché');
}
</script>

Remarquez la présence des deux méthodes de callback permettant de gérer le succès ou l'échec de l'appel.
Rien ne vous empêche de réagir sur le succès de la méthode en récupérant un éventuel retour de la méthode et de mettre à jour une zone de votre page "à la façon Ajax"...


Amusez vous bien ... Le web n'est pas forcément votre ennemi ...

Yoann Vue

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Un contrôle Wonderful de WPF : la listbox

clock May 20, 2008 08:48 by author yvue

Longtemps dénigré pour son look & feel très basique et austère, la listbox n'était utilisée qu'en dernier recours.
Maintenant, WPF (Windows Presentation Foundation) est passé par là et c'est la renaissance de ce contrôle.

La nouveauté principale des contrôles de WPF est la suivante : Un contrôle WPF fournit essentiellement un comportement.

C'est à dire : un bouton fournit une interface graphique permettant de "cliquer".
Dans notre cas, la listbox fournit une interface affichant un ensemble de données, parmi lesquelles, l'utilisateur peut réaliser une séléction

Par défaut, en glissant une listbox sur votre fenetre, vous retrouverez l'interface graphique classique :


Mais la force de WPF est de nous permettre de transformer complétement l'apparence de notre contrôle.
Ceci est permis par l'utilisation des styles et des templates de la listbox.

Par exemple, on peut transformer notre listbox en gridview :

Et oui, c'est bien une listbox !!! Comment le faire ... Tout simplement en spécifiant le comportement de ma listbox.


Spécification de la mise en forme des éléménts sous la forme d'un stackpanel 

<ItemsPanelTemplate x:Key="ItemsPanelTemplate1">
    
<StackPanel IsItemsHost="True" Margin="0,0,0,10"/>
</ItemsPanelTemplate>

Spécification de la représentation d'un élément dans la liste (Une grille contenant les textboxs, checkbox et combobox nécessaires à l'affichage des informations de mon objet)

<DataTemplate x:Key="DataTemplate1">
  
<Grid Width="{Binding ElementName=lstContacts, Path=ActualWidth}">
    
<Grid.ColumnDefinitions>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_0"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_1"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_2"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_3"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_4"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_5"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_6"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_7"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_8"/>
    
</Grid.ColumnDefinitions>

    
<Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="0">
         
<Label Content="&gt;" Margin="1" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center" />
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="1">
         
<TextBox Text="{Binding Path=Nom}" HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="2">
         
<TextBox Text="{Binding Path=Prenom}" HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="3">
         
<TextBox Text="{Binding Path=Age}" HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="4">
         
<CheckBox IsThreeState="False" VerticalAlignment="Center" IsChecked="{Binding Path=Sexe}" HorizontalAlignment="Center"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="5">
          <TextBox Text="{Binding Path=Couleur}" HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="6">
         
<ComboBox ItemsSource="{Binding Source={StaticResource OdpCommunes}}" 
                          
SelectedValue="{Binding Path=Ville.Id}" 
                         
SelectedValuePath="Id" 
                         
DisplayMemberPath="Nom" 
                         
HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="7">
         
<Image Source="../Images/Valider.png" Stretch="None"/>
     </Border>

     <Border BorderBrush="Black" BorderThickness="1,1,1,0" Grid.Column="8">
         
<Image Source="../Images/action-delete.gif" Stretch="None"/>
    
</Border>

     </Grid>
</DataTemplate>

Pour attacher tout cela a ma listbox, il me suffira alors d'ajouter les attributs nécessaires :

<ListBox x:Name="lstContacts"
           
ItemsSource="{Binding Source={StaticResource OdpContacts}}" 
           
ItemsPanel="{DynamicResource ItemsPanelTemplate1}" 
           
ItemTemplate="{DynamicResource DataTemplate1}"/>

et le tour est joué ...



D'autres exemples de customisation d'une listbox :


Une liste de polices de caractères disponibles sur notre poste client


 Ou encore un graphique en histogramme avec toujours le comportement d'une listbox

 

 

Un blog tres interessant sur le même sujet : The powerful of styles and templates in WPF

Yoann Vue
Consultant Technique Pôle.Net

Currently rated 3.7 by 3 people

  • Currently 3.666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5