2010-03-19 82 views

cevap

19

Visual Studio'nun Add Service Reference veya svcutil.exe aracını kullandıysanız, muhtemelen bir ChannelFactory görmezsiniz.

  • kanal fabrikası, gerçek iletişimi oluşturmak olduğunu özel hizmet sözleşmesi
  • uygun ChannelFactory<T> verilen oluşturun:

    Temel olarak bir WCF hizmeti için istemci tarafı vekil yaratan iki adımlı bir işlemdir İstemci ve hizmet arasındaki kanala

Telin her iki ucu üzerinde denetiminiz varsa ve servis ve veri sözleşmelerinizi ayrı bir düzeneğe koyabilirsiniz, bu iki adımı parçalayabilirsiniz. kapsayabilecektir ve elle idare:

  • , bu yalnızca gerçekten gerekli yapmaya çalışacağım mümkün zamankinden eğer öyleyse, bu oldukça karmaşık ve zaman alıcı bir işlemdir, bir kez ChannelFactory<IMyService> oluşturmak ve sonra kanal fabrikası önbelleğe Daha sonra sunucu O WCF hizmetleri için çok özel bir yapı var

ile iletişim gerektiğinde

  • kanal fabrika kullanarak gerçek bir kanal oluşturmak yeniden, bu yüzden hiç kullanacağız sanmıyorum dışında WCF kapsamı.

  • 5

    ChannelFactory sınıfı, istemci ile hizmet arasında bir proxy gerekmeden bir kanal oluşturmak için kullanılır. Bazı durumlarda, istemci uygulamasına sıkı sıkıya bağlı bir hizmetiniz olabilir. Böyle bir durumda, Interface DLL'yi doğrudan referans alabilir ve bunu kullanarak yöntemlerinizi çağırmak için ChannelFactory'yi kullanabilirsiniz.

    Ayrıca, Proxy ve Kanal fabrikası arasındaki farktan geçmenizi öneririm. Bu, Kanal Fabrikasının tam kullanımını anlamanıza yardımcı olacaktır. Aşağıdaki bağlantı size yardımcı olabilir http://ashishkhandelwal.arkutil.com/wcf/channelfactory-over-proxy-class-in-wcf/

    +0

    Bu bağlantıyı denedim ve reklamdan başka bir şey yoktu. – CodeChops