That callback contract doesn't make sense. You are saying that your callback interface (service exposed on the client) has an operation which expects ChannelFactory as parameter from service. Why do you want to send channel factory from service to client? Btw. it is not possible because as exception says DuplexChannelFactory is not serializable.
Ladislav Mrnka
Posts
-
Duplex Call Back Issue -
Move PrincipalPermission from service code to app.config. [modified]Hello, with default infrastructure it is not possible. I think it's a security hole. If you really want something similar check this article Best regards, Ladislav
-
OutOfMemoryException - Managed Console hosted WCF [modified]There is also MaxBufferSize property in binding which is by default 65KB. But in your case there is still possibility that you are simply out of memory. Sending such big messages in buffered mode is problematic.
-
Threads in WCF..Hello, that is completely handled by WCF. Best regards, Ladislav
-
Shared Storage?Hello, WCF allows 3 instancing modes. Your service uses PerCall instancing at the moment (I guess you are using BasicHttpBinding). You can create singleton service. Instance of singleton service will handle all request from all clients. To use singleton service, mark your service implementation (class implementing service contract) with following attribute:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class MyService : IMyService
{
...
}There is another configuration which you can check: ConcurrencyMode (also set in ServiceBehaviorAttribute). ConcurrencyMode controls how many requests can be served by the service instance at same time. Default is Single so only one client request will be served by your singleton service at the same time. Other clients will wait in "queue" until server or timeout. Best regards, Ladislav
-
How to open multiple service host for same address,binding contract?Hello, if you open multiple channel listeners on the same TCP port you have to use Port Sharing service and port sharing has to be allowed on the endpoint: NET.TCP Port sharing. Btw. why do you try to open 50 instances of the host for the same service when single host instance can handle 50 requests? Best regards, Ladislav