2016-04-06 22 views
0
geçemeyen

WCF adlandırılmış kanal hizmeti karmaşık nesneyi geçiş yapmaya çalışan ve her zaman başarısız olması - adlandırılmış boru anlam istemci tarafında bir excpetion alır:WCF Uri

iletişim nesnesi, Sistem .ServiceModel.Channels.ServiceChannel, Hatalı durumda olduğundan iletişim için kullanılamaz.

Sorunun nedenini kötü bir Uri'ye kadar izledim.

Uri dize gibi bir şey:

"http://www.example.com/," 

Şimdi bu kötü Uri olduğunu farkındayım ama sunucu olmayan az oluşturulmuş ve hatta Uri.IsWellFormedUriString("http://www.example.com/,", UriKind.RelativeOrAbsolute) testini geçer. Kanal kırılmadan WCF'den geçmesine izin vermek için bir yol bulmayı tercih ederim, ya da bu tür kötü davranışlarda bulunmuş urisleri diskalifiye etmeme izin veren daha iyi bir uri testi bulmayı tercih ederim.

+0

UriKind.RelativeOrAbsolute –

+0

için geçer. Protokolü kaçırdınız. Gerçekten işe yarıyor. –

cevap

0

Tüm Uri olayı kırmızı bir ringa çıktığında, WCF, miras alınan türünde KnownTypeAttribute ile bildirilmediği için başarısız oldu. Bu durumda istisnanın kendisi hiç yardımcı olmadı.