用C#写了一个WebService里面有个登录SQL数据库的方法,返回登录是否成功的布尔值,在客户端访问该webservice调用该方法,为何总是不成功?该方法是通过读取webservice目录下的ini文件(文件中包含:用户名,密码,服务器名,数据库名,数据库用户,数据库用户密码)实现的

解决方案 »

  1.   

    ini文件和webservice在同一个目录下嘛?
    估计是路径原因,没有读到配置信息你可以把在webservice里再写一个函数,将读取的信息返回给客户端看是否正确
      

  2.   

    ini文件和webservice在同一个目录下,并且函数里面有对该ini文件写的操作
      

  3.   

    是不是sql上面的1433端口禁用了?  还有就是tcp协议看看启用了没?
      

  4.   

    在webservice里又写了一个函数,将读取的信息以字符串形式返回给客户端,结果返回是空
      

  5.   


    把你读取的ini文件读出来组成的sql连接串传给客户端,让客户端看看这个字符串是不是有问题?
      

  6.   

    在B/S程序中从配置文件中取数据,这点非常麻烦..你可以把需要配的参数放到WEB.CONFIG文件中..如果非要用配置文件的话..那就在WEB.config文件中加一项.ini文件的路径参数..然后用你的现在有方法取连接串就可以了!~
      

  7.   

     var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
           var soapMessage, soapData, URL;
           // Set the soap message
           soapMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
           soapMessage += "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
           + " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">";
           soapMessage += "<soap:Body>";
           // Set the data for soap body ---- begin ------
           soapData = "<LoginJifen xmlns=\"http://tempuri.org/\">";
           soapData += "    <username>" + "<%=request("Username")%>" + "</username>";
           soapData += "    <pwd>" + "<%=request("password")%>" + "</pwd>";
           soapData += "</LoginJifen>";
           // Set the data for soap body ----  end  ------
           soapMessage = soapMessage + soapData + "</soap:Body>";
           soapMessage = soapMessage + "</soap:Envelope>";
           URL = "http://192.168.0.166:8080/WebService.asmx?op=LoginJifen"; //可以使用相对地址或完整URL
           xmlhttp.Open("POST",URL, false);
           xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8");
           xmlhttp.SetRequestHeader ("SOAPAction","http://tempuri.org/LoginJifen");//注意的地方
           xmlhttp.send(soapMessage);
            alert(soapMessage)
           var x =   xmlhttp.responseXML;
            alert(x.childNodes[1].text);
          // 那么如何知道是否调用成功呢,状态为200说明调用成功,500则说明出错
            alert(xmlhttp.Status);
           alert(xmlhttp.StatusText);