Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.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
C# 使用web服务器在WindowsCE上托管文本文件_C#_Webserver_Windows Ce - Fatal编程技术网

C# 使用web服务器在WindowsCE上托管文本文件

C# 使用web服务器在WindowsCE上托管文本文件,c#,webserver,windows-ce,C#,Webserver,Windows Ce,我正在尝试托管一个可以通过浏览器查看的文本文件。此服务器将在WindowsCE计算机上运行 目前,当我尝试使用internet explorer 9在windows 7计算机上查看该文件时,效果良好。 一旦我把它放在WindowsCE上,internet explorer就会坐在那里等待工作循环的旋转 如果我在Web服务器的端口80上运行telnet,我可以看到返回的文本文件: HTTP/1.1 200 OK Content-Type: text/plain MyTextFileContent

我正在尝试托管一个可以通过浏览器查看的文本文件。此服务器将在WindowsCE计算机上运行

目前,当我尝试使用internet explorer 9在windows 7计算机上查看该文件时,效果良好。 一旦我把它放在WindowsCE上,internet explorer就会坐在那里等待工作循环的旋转

如果我在Web服务器的端口80上运行telnet,我可以看到返回的文本文件:

HTTP/1.1 200 OK
Content-Type: text/plain

MyTextFileContents
下面是完整的方法。未记录任何异常,并记录“已完成服务日志”


编辑:我还应该注意,我的WindowsCE正在运行.NET Compact Framework 2.0

您需要在HTTP头中添加“内容长度”参数

你能试着在HTTP头中指定“内容长度”吗?答对了。那是约吉。你能把你的评论改成答案吗?这样我就可以把它标记为正确的。
    static void launchLogWebServer()
    {
        new Thread(delegate()
        {
            LogIt(0, "Starting Log Server");
            TcpListener server = new TcpListener(IPAddress.Any, 80);
            server.Start();
            TcpClient newConn;

            while (true)
            {
                try
                {
                    newConn = server.AcceptTcpClient();

                    LogIt(0, "Connection Made to Log Server");

                    NetworkStream stream = newConn.GetStream();
                    StreamReader sr = new StreamReader(stream);
                    StreamWriter sw = new StreamWriter(stream);

                    sw.WriteLine("HTTP/1.1 200 OK");
                    sw.WriteLine("Content-Type: text/plain");

                    sw.WriteLine();

                    String line = null;

                    while ((line = sr.ReadLine()).Length != 0)
                    {
                    }

                    string text = string.Empty;

                    LogIt(0, "Reading Log File");

                    try
                    {                            
                        using (StreamReader logReader = new StreamReader("mylog.log"))
                        {
                            text = logReader.ReadToEnd();
                            logReader.Close();
                        }                            
                    }
                    catch (Exception ex)
                    {
                        LogIt(0, ex.ToString());
                        text = ex.ToString();
                    }

                    LogIt(0, "Completed Reading Log File");

                    sw.WriteLine(text);
                    sw.Flush();

                    newConn.Close();
                    LogIt(0, "Finished serving log");
                }
                catch(Exception ex)
                {
                    LogIt(0, ex.ToString());

                }
            }


        }).Start();

    }