none
WCF Data Service - rewrite url RRS feed

  • Question

  • bonjour

    j'utilise WCF Data service pour publier des données par le biais de la réflexion. je voudrait savoir si quelqu'un a une solution pour pourvoir utiliser le même service mais avec des source de donnée differente.

     

    voici se que je voudrait :

    http://localhost/monservice.svc?source=src1
    http://localhost/monservice.svc?source=src2

    qui serai l'equivalent :

    monservice : DataService<src1>
    monservice : DataService<src2>

    merci de votre aide

    vendredi 19 novembre 2010 17:36

Toutes les réponses

  • Bonjour,

    tu peux essayer de retaper cette classe , j'avais eu un blem de ce genre ,ça m'avait vachement aider

    public class ServiceRedirectorHttpModule : IHttpModule
    {
      public void Init(HttpApplication context)
      {
        const string dummyAuthority = "http://x";
        context.BeginRequest += delegate
        {
          HttpContext ctx = HttpContext.Current;
          string path = ctx.Request
                   .AppRelativeCurrentExecutionFilePath;
          Uri uri = new Uri(dummyAuthority + path.TrimStart('~'));
          if (uri.Segments.Length > 1)
          {
            string service = uri.Segments[1].TrimEnd('/');
            if (service.Length > 1
              && Path.GetExtension(service).Length == 0)
            {
              service = "~/" + Path.ChangeExtension(service, "svc");
              string parameters =
                uri.Segments
                  .Skip(2)
                  .Aggregate(string.Empty, (acc,x) => acc+=x);
              if (parameters.Length == 0
                && path.EndsWith("/", StringComparison.Ordinal))
              {
                parameters += '/';
              }
              ctx.RewritePath(
                service,
                parameters,
                ctx.Request.QueryString.ToString(),
                true);
            }
          }
        };
      }
      public void Dispose()
      {
      }
    }
    Bonne Chance .
    Cordialement
    lundi 20 décembre 2010 13:38