thanks for the questions.
I would like to point out that our .Net CF Connection API is as simple as possible and the intended client is our HttpRequest.
From our API documentation. (method TryConnect).
Don't rely on this method in your application code. Different devices have different capabilities and an application code that initiates a reliable network connection may require the use of the vendor SDK. Even if this method returns true, it is possible that a subsequent HttpRequest or any other network request may fail.
All what the method does is following. The method tries to open a connection corresponding to the predefined network path that can be identified by the well-known value IID_DestNetInternet (436EF144-B4FB-4863-A041-8F905A62C572). Usually, if the device is not connected to the Wi-Fi network or LAN, calling this method initiates a connection to the mobile network (GPRS, EDGE, LTE and so on).
1) No, it is out of the scope of the ConnectionManager.
2) No, it is out of the scope of the ConnectionManager.
3) Your device does not close previously opened WWAN connection, HttpRequest sees the existing active connection and uses it. That's it, we are not trying to detect new connection and decide about the connection priority.
4)** Please try to call ConnectionManager.TryConnect method when you detect that WLAN is available and before the HttpRequest methods are used." TryConnect method closes the connection and tries to open a new connection. If your device does not exhibit other problems related to the connection priority, then the result of the call should be a new WLAN connection**.
That being said, many devices support detection of the type of the connection and we are able to write the comprehensive management of the connections.
If you are interested, consider please our custom development services. More info is here https://www.rebex.net/support/services/.