SORU
10 EYLÜL 2008, ÇARŞAMBA


Bir yapılandırma dosyası olmadan XML Yapılandırma

Herkes programlama yoluyla bir yapılandırma dosyası kullanmadan XML bir hizmetini duyurmak için nasıl iyi bir örnek biliyor mu? Hizmet nesne modeli çok daha zengin şimdi XML ile olduğunu biliyorum, mümkün olduğunu biliyorum. Ben sadece bunu yapmak için nasıl bir örnek görmedim. Tersine, bir yapılandırma dosyası olmadan alıcı nasıl yapıldığını görmek isterim.

Herkes soruyor önce, çok özel yapılandırma dosyaları olmadan bunu yapmak için bir ihtiyaç var. Normalde böyle bir uygulama tavsiye etmem, ama dediğim gibi, bu durumda çok özel bir ihtiyaç vardır.

CEVAP
15 Kasım 2008, CUMARTESİ


Tüketen bir yapılandırma dosyası olmadan bir web hizmeti keşfettim ki, çok basit. Sadece bağlayıcı bir nesne oluşturabilir ve nesne adresine ihtiyacı ve genel bir ChannelFactory örneği için istemci proxy kurucusuna ya da onları geçmek. Varsayılan uygulama bakabilirsiniz.config kullanmak bak, vekilin başlattığı statik yardımcı bir yöntem bir yerde oluşturun:

internal static MyServiceSoapClient CreateWebServiceInstance() {
    BasicHttpBinding binding = new BasicHttpBinding();
    // I think most (or all) of these are defaults--I just copied them from app.config:
    binding.SendTimeout = TimeSpan.FromMinutes( 1 );
    binding.OpenTimeout = TimeSpan.FromMinutes( 1 );
    binding.CloseTimeout = TimeSpan.FromMinutes( 1 );
    binding.ReceiveTimeout = TimeSpan.FromMinutes( 10 );
    binding.AllowCookies = false;
    binding.BypassProxyOnLocal = false;
    binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
    binding.MessageEncoding = WSMessageEncoding.Text;
    binding.TextEncoding = System.Text.Encoding.UTF8;
    binding.TransferMode = TransferMode.Buffered;
    binding.UseDefaultWebProxy = true;
    return new MyServiceSoapClient( binding, new EndpointAddress( "http://www.mysite.com/MyService.asmx" ) );
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Joshua Bane

    Joshua Bane

    24 Temmuz 2007
  • Nick Pitera

    Nick Pitera

    8 NİSAN 2006
  • UKF

    UKF

    2 Aralık 2009