Andrej Kozlovský
Andrej Kozlovský

Reputation: 31

The remote server returned an error: (500) Internal Server Error on website

I have a problem with running website via http://datalan.aspone.cz/ where data in a red table were still not available and as result is returned error message below "Error close The remote server returned an error: (500) Internal Server Error."

Also website is already running on a localhost and there is no trouble.

I don't know where I made mistake but I would greatly appreciate it if someone helps solve these case.

I attach the code below:

public List<Data> Generate()
    {
        List<Data> data = new List<Data>();

        WebRequest request = WebRequest.Create("http://192.168.1.100/st0.xml");

        request.Credentials = new System.Net.NetworkCredential("admin", "admin");

        WebResponse response;
        Stream ReceiveStream;
        XmlTextReader reader = null;

        try
        {
            response = request.GetResponse();
            ReceiveStream = response.GetResponseStream();
            reader = new XmlTextReader(ReceiveStream);
        }
        catch (WebException ex)
        {
            response = ex.Response;
            ReceiveStream = response.GetResponseStream();
        }

        List<Tuple<string, string, int>> values = new List<Tuple<string, string, int>>();

        while (reader.Read())
        {
            if (reader.NodeType == XmlNodeType.Element)
            {
                switch (reader.Name)
                {
                    case "ia0":
                        double temp = Convert.ToDouble(reader.ReadString()) / 10;
                        values.Add(new Tuple<string, string, int>(String.Format(temp.ToString() + " °C"), "Temperature", 0));
                        break;
                    case "ia1":
                        double vol = Convert.ToDouble(reader.ReadString()) / 10;
                        values.Add(new Tuple<string, string, int>(String.Format(vol.ToString() + "V"), "Voltage", 1));
                        break;
                    case "di0":
                        values.Add(new Tuple<string, string, int>(reader.ReadString(), "INPD0", 2));
                        break;
                    case "di1":
                        values.Add(new Tuple<string, string, int>(reader.ReadString(), "INPD1", 3));
                        break;
                    case "di2":
                        values.Add(new Tuple<string, string, int>(reader.ReadString(), "INPD2", 4));
                        break;
                    case "di3":
                        values.Add(new Tuple<string, string, int>(reader.ReadString(), "INPD3", 5));
                        break;
                    case "out0":
                        values.Add(new Tuple<string, string, int>(reader.ReadString(), "OUT0", 6));
                        break;
                    case "out1":
                        values.Add(new Tuple<string, string, int>(reader.ReadString(), "OUT1", 7));
                        break;
                    case "out2":
                        values.Add(new Tuple<string, string, int>(reader.ReadString(), "OUT2", 8));
                        break;
                    case "out3":
                        values.Add(new Tuple<string, string, int>(reader.ReadString(), "OUT3", 9));
                        break;
                }
            }
        }

        for (int i = 0; i < values.Count; i++)
        {
            for (int j = 0; j < values.Count; j++)
            {
                if (i == values[j].Item3)
                {
                    data.AddRange(new List<Data> { new Data { Type = values[j].Item2, Value = values[j].Item1 } });
                }
            }
        }

        return data;
    }

Upvotes: 1

Views: 1311

Answers (2)

Andrej Kozlovsk&#253;
Andrej Kozlovsk&#253;

Reputation: 31

I already have solved these problem.

After finding a solution I edited code in Web.config by these steps:

<location path="." inheritInChildApplications="false">  
<system.web>  
...
...
...   
</system.web>  
</location>

In the next time it could help someone.

Upvotes: 1

Matti Price
Matti Price

Reputation: 3551

It most likely has something to do with this code:

WebRequest request = WebRequest.Create("http://192.168.1.100/st0.xml");

You are making a call to a local IP address and if it's on shared hosting especially, it probably won't like this request.

Upvotes: 1

Related Questions