DetachedCriteria how it implemented now could not be used in application that uses wc for communication. The reason is that it uses CriteriaImpl class which has one of it field
Code:
private System.Type persistentClass
. Default wcf serializer DataContractSerializer does not support serializing System.Type. System.Type does not have any meaning outside of .net environment. Possible solution could be to change System.Type before serializing (OnSerializing event - it works for this serializer) for some other object and after deserializing (OnDeserialized event) transform this object back to System.Type. I think it is quite important now for NH to work with wcf because MS is deprecating remoting in favor of wcf.