SORU
8 HAZİRAN 2009, PAZARTESİ


Nasıl her XML çağırmak için özel bir başlık eklemek için?

Bir Windows Hizmeti barındırılan WCF hizmeti var. Bu hizmeti kullanarak geçmesi gereken bir tanımlayıcı müşterilerine hizmet yöntemleri diyorlar her zaman tanımlayıcı olarak adlandırılan bu yöntem YAPMASI GEREKENLER için önemli olduğu için). Bir şekilde XML başlık bilgileri için bu tanımlayıcı koymak için iyi bir fikir olduğunu düşündüm.

Eğer iyi bir fikirdir, nasıl tanımlayıcı otomatik olarak başlık bilgilerini ekleyebilirim. Kullanıcı bisiklet Federasyonu yöntem tanımlayıcı başlık için otomatik olarak eklenen denilen zaman yani.

GÜNCELLEME: Bisiklet Federasyonu servisi kullanan istemciler uygulamaları ve Windows Mobil Uygulama (Kullanma Kompakt Çerçeve) her iki pencere vardır.

CEVAP
10 EYLÜL 2009, PERŞEMBE


Bu avantajı her çağrı için uygulanır.

IClientMessageInspector uygulayan bir sınıf oluşturun. BeforeSendRequest yöntemi, sizin belirleyeceğiniz mesaj Başlığı ekleyin. Şöyle bir şey olabilir:

    public object BeforeSendRequest(ref System.ServiceModel.Channels.Message request,  System.ServiceModel.IClientChannel channel)
{
    HttpRequestMessageProperty httpRequestMessage;
    object httpRequestMessageObject;
    if (request.Properties.TryGetValue(HttpRequestMessageProperty.Name, out httpRequestMessageObject))
    {
        httpRequestMessage = httpRequestMessageObject as HttpRequestMessageProperty;
        if (string.IsNullOrEmpty(httpRequestMessage.Headers[USER_AGENT_HTTP_HEADER]))
        {
            httpRequestMessage.Headers[USER_AGENT_HTTP_HEADER] = this.m_userAgent;
        }
    }
    else
    {
        httpRequestMessage = new HttpRequestMessageProperty();
        httpRequestMessage.Headers.Add(USER_AGENT_HTTP_HEADER, this.m_userAgent);
        request.Properties.Add(HttpRequestMessageProperty.Name, httpRequestMessage);
    }
    return null;
}

Sonra istemci çalışma zamanı için Müfettiş mesaj geçerli bir bitiş noktası davranışı oluşturmak. Yapılandırma davranış uzantısı bir öğe kullanarak bir öznitelik üzerinden veya davranışı uygulayabilirsiniz.

Burada user-agent istek iletileri için bir HTTP başlık eklemek için nasıl example bir harika. Benim müşteri birkaç içinde bunu kullanıyorum. Ayrıca IDispatchMessageInspector uygulayarak hizmet tarafında aynı şeyi yapabilirsiniz.

Hayal ettiğin şey bu mu?

Güncelleme:Kompakt çerçevesi tarafından desteklenen XML özellikler list bunu buldum. Mesaj müfettişlerin Kullanildigini 'olan, bu yazıya göre . Kanal olarak sınıflandırılmış inanıyorum ^strong>kompakt çerçeve ile desteklenir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006
  • Plugable

    Plugable

    19 Mayıs 2010