2016-04-04 8 views
0

J'ai une application Web hébergée sur un pool d'applications x64 (32 bits non autorisé) qui doit appeler une DLL de structure 3.5 fournie par un fournisseur. Aucune de ces contraintes n'est sous mon contrôle. Désirant json comme modèle pour ma demande/réponse, j'ai besoin d'écrire des api RESTful qui serviront cette DLL à mon application web. Je me suis rendu compte que le kit WebAPI ne m'appliquait pas car ils nécessitaient des frameworks 4.0, quelle est mon alternative?Quel kit (le cas échéant et non WebAPI) à utiliser pour écrire des API RESTful pour les services qui ne peuvent s'exécuter que sur un framework 3.5?

+0

Pourquoi pensez-vous que l'API Web doit être mis sur un cadre x64? Et pourquoi n'êtes-vous pas capable de rechercher vous-même les outils ASP.NET REST API? – mason

+0

N'aurait pas dû dire 64. Vois encore ma question. Peut-être que vous pouvez toujours y répondre. Merci –

+0

Bon, alors maintenant vous l'avez contraint à .NET 3.5. Encore une fois, pourquoi n'êtes-vous pas capable de rechercher vous-même ces outils? Demander des recommandations d'outils est spécifiquement hors sujet ici. Et de toute façon, une API REST est extrêmement simple dans son concept. Pourquoi ne pas essayer de mettre en place votre propre? – mason

Répondre

0

outil pour écrire votre propre WCF sur 3.5 cadres pour REST:

WCF REST STARTER KIT

lors de l'installation, vous verrez

Microsoft.Http.dll 
Microsoft.Http.Extensions.dll 
Microsoft.ServiceModel.Web.dll 

dans le répertoire: C: \ Program Fichiers (x86) \ Microsoft WCF REST \ WCF REST Starter Kit Aperçu 2 \ Assemblies

3.5 Svc Support

MORE ...

  1. Pour utiliser WCF comme service WCF Rest vous devez activer webHttpBindings.
  2. Il prend en charge les verbes HTTP GET et POST respectivement par les attributs [WebGet] et [WebInvoke] .
  3. Pour permettre à d'autres verbes HTTP que vous devez faire une configuration dans IIS à accepter la demande de ce verbe particulier sur les fichiers .SVC
  4. données en passant par les paramètres en utilisant une configuration WebGet a besoin.
  5. UriTemplate doit être spécifié Il prend en charge les formats XML, JSON et ATOM .

JSON formatter for 3.5

using System.Runtime.Serialization.Json; //System.ServiceModel.Web 

    Me[] sizes = new Me[] { new Me{ radius = 34, height = 66 }, new Me{ radius = 24, height = 68 } }; // Me [DataContract] 
    DataContractJsonSerializer szr = new DataContractJsonSerializer(typeof(Me[])); 
    MemoryStream toJSONBuf= new MemoryStream(); 
    szr.WriteObject(toJSONBuf, sizes);   
    string strJSON = Encoding.Default.GetString(toJSONBuf.ToArray()); 
    toJSONBuf.Close(); 
    //Response.Write(Server.HtmlEncode(strJSON)); 
    // REVERSE: the same serializer 
    toJSONBuf= new MemoryStream(Encoding.Unicode.GetBytes(strJSON)); 
    sizes = szr.ReadObject(toJSONBuf) as Me[]; 
    toJSONBuf.Close();