none
如何使用指定的APN而不是使用系统默认设置进行webservice通信 RRS feed

  • 问题

  • 我在程序里建立了一个专用APN连接,想让客户端通过APN访问服务器的WebService,其中一个原则,不通过手动设置系统默认的接入点来实现。
    因此,在程序中,第一步,我先连接该APN网络;第二步,访问WebService。问题在于第二步的访问WebService并不通过我第一步连接的APN网络来访问网络,而是通过了系统的默认访问点,结果肯定访问不到。有没有什么办法,强制客户端通过特定的APN访问WebService访??谢谢!
    代码如下(C#+OpenNetCF)

    第一步:
    /连接公司的APN连接
    public void ConnGPRS()
    {

    cenum = ConnMgr.EnumDestinations();
    try
    {
    foreach (DestinationInfo em in cenum)
    {

    if (em.Description == "APN专网")
    {
    ConnMgr.Connect(em.Guid, true, ConnectionMode.Asynchronous);
    }

    }

    }
    catch (SystemException err)
    {
    MessageBox.Show(" err 700 " + err.Message);
    }
    }

    第二步:
    //访问WebService
    private void button1_Click(object sender, EventArgs e)
    {

    try
    {
    string type = domainUpDown1.SelectedIndex.ToString();
    ws_info.Contact ws = new PPC6.ws_info.Contact();
    ws.Url = "http://10.49.28.30/ws_info/contact.asmx";
    string strRet = ws.getContact(type, textBox1.Text.Trim());
    if (type == "0")
    {
    tb_mobile.Text = strRet;
    tb_name.Text = textBox1.Text.Trim();
    }
    else
    {
    tb_mobile.Text = textBox1.Text.Trim();
    tb_name.Text = strRet;
    }
    }
    catch(Exception ex)
    {
    MessageBox.Show("错误:"+ex.Message);
    }

    }

    2010年3月27日 14:30

答案

  • 你好,

    这个可以在Activesync(XP)或者Windows Mobile设备中心(Win7)的连接设置中实现,选中“在连接到PC时,允许在设备上建立数据连接”。


    施炯
    2011年3月13日 2:44
    版主

全部回复

  • 我在程序里建立了一个专用APN连接,想让客户端通过APN访问服务器的WebService,其中一个原则,不通过手动设置系统默认的接入点来实现。
    因此,在程序中,第一步,我先连接该APN网络;第二步,访问WebService。问题在于第二步的访问WebService并不通过我第一步连接的APN网络来访问网络,而是通过了系统的默认访问点,结果肯定访问不到。有没有什么办法,强制客户端通过特定的APN访问WebService访??谢谢!
    代码如下(C#+OpenNetCF)

    第一步:
    /连接公司的APN连接
    public void ConnGPRS()
    {

    cenum = ConnMgr.EnumDestinations();
    try
    {
    foreach (DestinationInfo em in cenum)
    {

    if (em.Description == "APN专网")
    {
    ConnMgr.Connect(em.Guid, true, ConnectionMode.Asynchronous);
    }

    }

    }
    catch (SystemException err)
    {
    MessageBox.Show(" err 700 " + err.Message);
    }
    }

    第二步:
    //访问WebService
    private void button1_Click(object sender, EventArgs e)
    {

    try
    {
    string type = domainUpDown1.SelectedIndex.ToString();
    ws_info.Contact ws = new PPC6.ws_info.Contact();
    ws.Url = "http://10.49.28.30/ws_info/contact.asmx";
    string strRet = ws.getContact(type, textBox1.Text.Trim());
    if (type == "0")
    {
    tb_mobile.Text = strRet;
    tb_name.Text = textBox1.Text.Trim();
    }
    else
    {
    tb_mobile.Text = textBox1.Text.Trim();
    tb_name.Text = strRet;
    }
    }
    catch(Exception ex)
    {
    MessageBox.Show("错误:"+ex.Message);
    }

    }

    2010年3月27日 14:19
  • 我发现在使用ActiveSync连接手机后,手机会默认使用电脑的网络上网,请问在这种情况下我如何强制手机仍然使用CDMA网络上网,而不是尝试使用电脑网络呢?
    2010年4月11日 13:43
  • 你好,

    这个可以在Activesync(XP)或者Windows Mobile设备中心(Win7)的连接设置中实现,选中“在连接到PC时,允许在设备上建立数据连接”。


    施炯
    2011年3月13日 2:44
    版主