Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Fox Blogs

Un framework pour les binder tous
Les Bridges reviennent dans la RC de Microsoft Ajax Framework

Comme vient de l'annoncer Cyril la nouvelle version de Microsoft Ajax Framework RC est disponible.
On attend la version RTM pour avant la fin de l'année.

Une des choses qui avait disparu à la sortie de la Beta 1 et 2 était la possibilité d'écrire des bridges. Cette fonctionnalité est réapparue dans cette nouvelle version d' « ASP.NET 2.0 AJAX Futures December CTP » sous le namespace « Microsoft.Web.Preview.Services »

Mais c'est quoi un Bridge ?

Un bridge donne la capacité à un script JavaScript de requêter une URL sur un Domain qui n'est pas le sien (de son serveur d'origine). Comment ? Simplement en appelant une URL sur son serveur qui, lui, fait la passerelle vers le serveur externe. L'URL en question est un fichier avec une extension asbx qui sert simplement de pont.

Exemple de bridge pour appeler le Service REST GeoName qui renvoi Latitude et Longitude d'un département.
Le service revoie du XML on le transforme en utilisant « Microsoft.Web.Preview.Services.XPathBridgeTransformer »

<? xml version ="1.0" encoding="utf-8" ?>
<
bridge namespace="Demo" className="GeoNames">
   <
proxy type="Microsoft.Web.Preview.Services.BridgeRestProxy"
      serviceUrl="http://ws.geonames.org/postalCodeSearch" />

< caching >  
   <
cache type ="Microsoft.Web.Preview.Services.BridgeCache" />
</
caching>

< method name ="GetGeoNames">
<
input
   <
parameter name="maxRows" value="10" serverOnly="true" /> 
   <
parameter name="postalcode" /> 
   <
parameter name="country"/>
</
input>

< transforms
   <
transform type ="Microsoft.Web.Preview.Services.XPathBridgeTransformer"
   <
data
      <
attribute name="selector" value="code" /> 
      <
dictionary name="selectedNodes"
      <
item name="postalcode" value="postalcode" /> 
      <
item name="name" value="name" />
      <
item name="countryCode" value="countryCode" /> 
      <
item name="lat" value="lat" />
      <
item name="lng" value="lng" /> 
      </
dictionary
   </
data>
</
transform>

</ transforms >
</
method >
</
bridge >

Pour l'utiliser dans la page il suffit de référencer le fichier asbx dans le ScriptManagerProxy

< asp : ScriptManagerProxy ID="ScriptManagerProxy1" runat="server"> 
   <
Services
      <
asp:ServiceReference Pathi="~/Bridges/GeoNames.asbx" /> 
   </
Services>
</
asp:ScriptManagerProxy>

Et ensuite depuis du code JavaScript on va pouvoir appeler ce service externe et donc faire des applications de Mash-UP

< script type="text/javascript">

function GetLngLat(){

var cp = 75001; var c = 'FR';

Frimr.GeoNames.GetGeoNames({ postalcode:cp, country:c}, 
      Function.createDelegate(this, _onDataAvailable), 
      null, null, null, null);
}
}

   

function _onDataAvailable(result, response, userContext) {
if (result.length > 0)

   alert('Ville:'+result[0].name+ 
         ' Longitude:'+result[0].lng+
         ' Latitude:'+result[0].lat);
}
}
</script>

Il ne faut pas oublier aussi de changer le web.config pour qu'il prenne en compte la nouvelle extension « asbx »

< httpHandlers >

<
add verb ="GET,HEAD,POST" path="*.asbx" 
      type="System.Web.Script.Services.ScriptHandlerFactory, 
            System.Web.Extensions, 
            Version=1.0.61025.0, 
            Culture=neutral, 
            PublicKeyToken=31bf3856ad364e35
" validate="false"/>
</
httpHandlers>

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: vendredi 15 décembre 2006 01:01 par Fox

Commentaires

cyril a dit :

Il ne faut pas non plus oublier de mapper l'extension .asbx vers ASP.net dans IIS ;-)

Si je me suis pas trompé dans mon backup des anciennes versions d'Atlas, les bridges étaient aussi présent dans l'ancienne version de Microsoft.web.preview datant du 02/11/06

Par contre ce qui serait bien c'est que cette feature soit disponible dans le "core package", je viens d'ailleurs de poser la question du "pourquoi de ce package" sur le forum asp.net, car c'est vraiment pas clair.

# décembre 15, 2006 02:17

cyril a dit :

le topic vient d'être validé : http://forums.asp.net/thread/1497894.aspx

# décembre 15, 2006 02:18

Fox a dit :

Exact les bridges étaient déjà revenu à la Beta 2.

# décembre 15, 2006 02:31

azra a dit :

Attention, dans l'exemple au niveau du JS c'est "Demo.GeoNames" à la place de "Frimr.GeoNames"

# janvier 24, 2007 11:09
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01