WCF Services ile deneme yapıyorum ve Arayüzleri geçme ile ilgili bir problemle karşılaştım.Arabirimi bir WCF Hizmetinde Geçirme?
[ServiceContract]
public interface IHomeService
{
[OperationContract]
string GetString();
}
ama bu değil:
Bu işleri
[ServiceContract]
public interface IHomeService
{
[OperationContract]
IDevice GetInterface();
}
Ben GetInterface yöntemine başarısız istemci derlemeye deneyin
. Object'i IDevice'e dönüştüremediğini söyleyen bir Özel Durum alıyorum.İstemci tarafında, IHomeService sınıfı, GetString öğesini döndürdüğü gibi bir dize ile doğru şekilde uygular, ancak GetInterface nesnesinin bir tür döndürme nesnesine sahiptir. Neden kimlik değil? Ben böyle değişti
Üzgünüm, ama anladığımı sanmıyorum. GetInterface yönteminin IDevice arabirimini uygulayan iki farklı sınıf olan SimpleDevice ve AdvancedDevice'i döndürmesini istiyorum. ServiceKnownType'ı her iki tür için de ayarlamalı mıyım? –
Seri hale getirme sırasında, WCF hangi IHomeService türünün kullanıldığını biliyor mu? – Will
Evet, sanırım anladın. WCF'ye arayüzü uygulayan olası türleri söylüyorsunuz. WCF, bilinen bu türlerin arabirimi uyguladığı ve serileştirilebildiğini bildiği sürece, her türünü iletebilirsiniz. –