Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript和;等效c#_C#_Javascript - Fatal编程技术网

JavaScript和;等效c#

JavaScript和;等效c#,c#,javascript,C#,Javascript,我目前有一个可以工作的JavaScript,我正在尝试用c#重新制作它。JavaScript通过HTML页面上的表单条目创建XML文档: var httpOb = new ActiveXObject("Microsoft.XMLHTTP"); httpOb.Open("POST", "http://IP_ADDRESS:1111/command.xml", false); httpOb.send(usg); “usg”是使用表单输入作为元素值,从XML ID和XML ID构建的 在c#中,我试

我目前有一个可以工作的JavaScript,我正在尝试用c#重新制作它。JavaScript通过HTML页面上的表单条目创建XML文档:

var httpOb = new ActiveXObject("Microsoft.XMLHTTP");
httpOb.Open("POST", "http://IP_ADDRESS:1111/command.xml", false);
httpOb.send(usg);
“usg”是使用表单输入作为元素值,从XML ID和XML ID构建的

在c#中,我试图完成一个技术上相同的函数,但代码在GetRequestStream()处给了我一个超时错误(好像目标没有响应):

string xmlString=“test1ROOM\u OPEN”;
字符串url=”http://12.23.250.2:1111/usg/command.xml";
XmlDocument doc=新的XmlDocument();
doc.LoadXml(xmlString);
TextBox1.Text=doc.InnerXml;
HttpWebRequest HttpWebRequest=null//声明WebRequest类的HTTP特定实现。
HttpWebResponse HttpWebResponse=null//声明WebResponse类的HTTP特定实现
httpWebRequest=(httpWebRequest)WebRequest.Create(url);
字节[]字节;
字节=System.Text.Encoding.ASCII.GetBytes(doc.InnerXml);
//设置HttpWebRequest属性
httpWebRequest.Method=“POST”;
httpWebRequest.ContentLength=字节.Length;
httpWebRequest.ContentType=“text/xml;encoding='utf-8';
使用(Stream requestStream=httpWebRequest.GetRequestStream())
{
//将字节序列写入当前流
requestStream.Write(字节、0、字节、长度);
requestStream.Close();//关闭流
}
为什么JavaScript能完美地工作,而c#却不能?这些方法之间可能导致失败的区别是什么?我只想使用JavaScript,但它依赖于ActiveX控件,并且是在客户端完成的。我需要从服务器端完成这篇文章

请帮帮我,这快把我逼疯了!
布拉德利

你的密码似乎没问题。。在哪一行获得超时?您能够从服务器访问URL吗?第29行:使用(Stream requestStream=httpWebRequest.GetRequestStream())它说:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机未能响应[IP#U REDACTED]:1111JavaScript工作正常,如果我能找出如何在c#中复制它正在执行的“操作”-它应该可以工作。。。非常令人沮丧。
    string xmlString = "<USG COMMAND=\"USER_ADD\" MAC_ADDR=\"14DAE93E0BD8\"><USER_NAME>test1</USER_NAME><PASSWORD ENCRYPT=\"FALSE\"></PASSWORD><IP_TYPE></IP_TYPE><EXPIRY_TIME UNITS=\"SECONDS\"></EXPIRY_TIME><ROOM_NUMBER></ROOM_NUMBER><PAYMENT_METHOD>ROOM_OPEN</PAYMENT_METHOD><CONFIRMATION></CONFIRMATION><PAYMENT></PAYMENT></USG>";
string url = "http://12.23.250.2:1111/usg/command.xml";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);
TextBox1.Text = doc.InnerXml;

HttpWebRequest httpWebRequest = null;//Declare an HTTP-specific implementation of the WebRequest class.
HttpWebResponse httpWebResponse = null;//Declare an HTTP-specific implementation of the WebResponse class
httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
byte[] bytes;
    bytes = System.Text.Encoding.ASCII.GetBytes(doc.InnerXml);
    //Set HttpWebRequest properties
    httpWebRequest.Method = "POST";
    httpWebRequest.ContentLength = bytes.Length;
    httpWebRequest.ContentType = "text/xml; encoding='utf-8'";

    using (Stream requestStream = httpWebRequest.GetRequestStream())
    {
        //Writes a sequence of bytes to the current stream 
        requestStream.Write(bytes, 0, bytes.Length);
        requestStream.Close();//Close stream
    }