[英]Activate GPRS connection on compact framework (c#)
我正在使用C#(.NET3.5 Compact Framework)开发应用程序,有时需要通过GPRS连接到sql服务器。 但是,在一段时间不活动或将PDA放在支架上后,连接将关闭。
我正在寻找一种从应用程序中自动检查并重新启用连接的方法。
我在网上看到过几页建议使用ConnectionManager,Opennet.CF框架或基于XML文档的方法。 没有一个提供完整的示例。
我的最新测试基于以下代码。
您能帮我一些建议或一段代码吗?
提前谢谢了,
菲利普
public static void setCM_ProxyEntriesHTTP(Guid Guid)
{
try
{
remCM_ProxyEntries(getCM_ProxyEntriesAtual());
string wWap = "<wap-provisioningdoc>" +
"<characteristic type=\"CM_ProxyEntries\">" +
"<characteristic type=\"HTTP-{" + Guid.ToString() + "}\">" +
"<parm name=\"ExtraInfo\" value=\"\" />" +
"<parm name=\"Override\" value=\"\" />" +
"<parm name=\"Username\" value=\"\" />" +
"<parm name=\"Enable\" value=\"1\" />" +
"<parm name=\"Type\" value=\"0\" />" +
"<parm name=\"DestId\" value=\"{436EF144-B4FB-4863-A041-8F905A62C572}\" />" +
"<parm name=\"SrcId\" value=\"{" + Guid.ToString() + "}\" />" +
"</characteristic>" +
"</characteristic>" +
"</wap-provisioningdoc>";
ConfigWrapper.ProcessXml(wWap);
}
catch { }
}
通常,您不需要关心连接,只要您的请求触发连接管理器即可。 因此,在执行SQL查询或连接之前,请在已知的可接收服务器上执行http请求。 该http请求将触发连接管理器打开连接。 连接管理器将管理连接。
如果长时间没有数据流,则连接管理器(CM)将关闭连接,除非您配置了“始终在线”连接。 可以使用wap设置xml文件为连接配置“ Alwas on”。 与您编写的类似的xml(对您的需求没有用): http : //msdn.microsoft.com/zh-cn/library/bb737329.aspx
我使用ftp编写的应用程序中需要触发CM的技巧。 在打开ftp连接之前,我必须执行一个http请求(到google.com)。 FTP连接请求不会触发CM,因为sql请求也不会触发。
因此,在您的代码中首先执行一个http请求,然后等待或重复直到成功,然后发出您的sql连接请求。 -或者-配置“始终在线”连接(如果您与Internet提供商签订了固定数据速率合同)。
谢谢约瑟夫! :)
我可以使用以下代码进行检查和连接:
private static bool InternetAvailable2()
{
bool hasNet = false;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://www.bing.com");
request.Method = "GET";
request.Accept = "text/html, application/xhtml+xml, */*";
request.Proxy = null;
//request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.OK)
{
hasNet = true;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,"NetAvail2");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.