我有一个名为管道服务的WCF试图传递一个复杂的对象,并且每次都失败 - 这意味着命名管道在客户端获得了一个激活:
通信对象System.ServiceModel.Channels.ServiceChannel不能用于通信,因为它处于Faulted状态。
我将问题的原因追溯到一个糟糕的Uri。
Uri字符串类似于:
"http://www.example.com/,"
现在我意识到这是一个糟糕的Uri
,但它是在服务器上创建的,并且它甚至通过了Uri.IsWellFormedUriString("http://www.example.com/,", UriKind.RelativeOrAbsolute)
测试。
我更愿意找到一种方法来允许它在不破坏频道的情况下通过WCF,或者找到更好的uri测试,以允许我取消这种表现不佳的uris的资格。
答案 0 :(得分:0)
事实证明整个Uri是一个红色的鲱鱼,WCF失败了,因为在未使用KnownTypeAttribute声明的继承类型上。在这种情况下,例外本身并没有帮助。