本人用WinForm(c/s)编写了一个socket文字聊天程序,已经测试通过了,但把它嵌入到asp.net页面后,当点击连接服务器时,就出现以下错误: 
请求System.Net.SocketPermission,System,Version=1.0.5000.0,Culture=neutral,PublicKeyToken=b77a5c561934e089类型的权限已失败 请问高手,我该如何解决?

解决方案 »

  1.   

    没有做过在web里面嵌winform的程序,你在Security里面加上ASP.NET用户,在Authentication里面的Integrated Windows authentication前打上勾试试
      

  2.   

    首先把winform做到asp.net中就是一个不明智的做法。其次,你的winform中用到socket,首先socket要访问本地系统信息,来形成socket连接,这一部对于基于b/s结构来说是多余了(暂且不说是否能实现),因为b/s结构中已经帮你铺好了http通路。如果你想做成类似于聊天的b/s版,你最好去网上找找聊天室这方面的例子。
      

  3.   

    把c/s的程序嵌入到b/s系统中效率是非常低的,这种做法不提倡,采用b/s架构的聊天设计才是正确的思路
      

  4.   

    权限问题,先把服务器站点设为可信任站点,再在.net安全配置里把可信任站点设为fulltrust
      

  5.   

    hdt(倦怠):
    权限问题,先把服务器站点设为可信任站点,再在.net安全配置里把可信任站点设为fulltrust
    请问高手,能不能给出具体的操作步骤
      

  6.   

    请在IE属性安全里设置安全性.
    不清楚工具管理->.NET Configuration->运行库安全策略.既然都做了为什么不下点决心做成共享软件?如果好用.Net FrameWork不是问题的。
      

  7.   

    管理工具-〉.net 向导-〉调整.net安全性-〉本机 or 本用户-〉信任站点-〉fulltrust
      

  8.   

    我把受信任站点设置为fulltrust后,还是出现相同的错误,请各位高手指点
      

  9.   

    这种做法不太好哦。这样做法不如改成C/S结构的。你给IIS的设置了用户的读写权限没有?
      

  10.   

    b/s 效率本身就低潜入不潜入C/S无所为了,我估计是你的IE设置有问题
      

  11.   

    private void connectButton_Click(object sender, System.EventArgs e)
    {
    //If user Cliked Connect
    if(connectButton.Text=="Connect"&&usernameBox.Text!="")
    {
    try
    {
    //Connect to server
    chatClient = new TcpClient("192.168.0.73",5151);
    DisplayText("Connecting to Server ...\r\n");
    //Start Reading
    AsyncCallback GetMsgCallback = new AsyncCallback(GetMsg);
    (chatClient.GetStream()).BeginRead(recByte,0,1024,GetMsgCallback,null);
    //Send the UserName
    SendText(usernameBox.Text);
    this.userName=usernameBox.Text;
    this.Text="Chat Client :"+userName;
    usernameBox.Text="";
    connectButton.Text="Disconnect"; 
    usernameBox.Enabled=false;
    sendButton.Enabled=true;
    sendBox.Enabled=true;
    //this.AcceptButton=sendButton;
    }
    catch(Exception ee)
    {
    MessageBox.Show(ee.ToString());
    Disconnect();
    //MessageBox.Show("Can't connect to Server...");
       }
    }
    else if(connectButton.Text=="Disconnect")
    {
    Disconnect();
    }
      }
    这是DLL中点击按钮的事件响应代码,主要是连接服务端程序(C/S),但是这里会被Catch到,出现:
    "请求system.Net.SocketPermission,System,Version=1.0.5000.0,Culture=neutral,PublicKeyToken=b77a5c561934e089类型的权限已失败“的错误
      

  12.   

    我在IE安全选项的受信任的站点添加了https://localhost,应该不会有问题