sample:
    http://localhost/test/webform1.aspx?id=9
    怎么将这个id传给win程序?怎么通信和交互
    讲讲方案也行,或者用什么技术能够达到要求,分不够再加了

解决方案 »

  1.   

    win程序是已经有的,还是自己写的?
    如果是自己写的做个简单socket传输就可以了
      

  2.   

    Main 方法可以使用参数,在这种情况下它采用下列形式之一:
    static int Main(string[] args)
    static void Main(string[] args)
    Main 方法的参数是表示命令行参数的 string 数组。通常通过测试 Length 属性来检查参数是否存在,例如:
    if (args.Length == 0) 
    {
       Console.WriteLine("Please enter a numeric argument."); 
       return 1; 
    }
      

  3.   

    楼上的兄弟,那我怎么传参数到args[]中呢?
      

  4.   

    这个需要用到Socket和更高级的TcpClient,UdpClient,一般方法是
    aspx页面,编码参数(string)到字节数组,然后发送到win程序就可以,参数不多直接编码就可以,
    如果多写个结构类使用序列化,
    建议使用UdpClient,不会阻塞Aspx线程 //向WIN发数据
    try
    {
    UdpClient client=new UdpClient();
    client.Connect("127.0.0.1",4444);
    byte[] send=Encoding.Default.GetBytes("pamars:"+Request.QueryString["id"]+"");
    client.Send(send,send.Length);
    client.Close();
    }
    catch
    {
    if(!File.Exists("E:\\ERROR.TXT"))
    {
    StreamWriter sw=new StreamWriter("E:\\ERROR.TXT");
    sw.WriteLine("AutoSerive Post Err");
    sw.Close();
    }
    }//WIN接受 IPEndPoint host=new IPEndPoint(IPAddress.Any,PORT);
    Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
    socket.Bind(host);
    Byte[] read=new Byte[1024];
    while(true)
    {
    int l=socket.Receive(read);
    string receive=Encoding.Default.GetString(read,0,l);
    if(receive.IndexOf("BT:")>-1)
    {
    //处理代码 }
    else
    {
    continue;
    }
    }
    }//end while

    socket.Shutdown(SocketShutdown.Receive);
    socket.Close();
      

  5.   

    将参数写入到服务器保存起来,然后让win程序来读写怎么样?
      

  6.   

    将参数写入到服务器保存起来,然后让win程序来读写怎么样?
    ---------------
    与其如此,还不如写一个webservice,在win程序中加入定时器,定时访问webservice呢
      

  7.   

    控制台的哪就好传多了。。用哪个process 应该是吧。加程序加参数就OK了