小さなログインシステムを作成しようとしていますが、プロジェクトがVS2010で実行されると、次のように表示されるという問題があります。
The remote server returned an error: (405) Method Not Allowed.
これが私のコードです:
//Our URL
string uri = "https://************************/ValidateUsername";
//Our postvars
byte[] buffer = Encoding.ASCII.GetBytes( "username=user" );
//Initialization
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Accept = "application/json;odata=verbose";
request.Headers.Add("Language", "es-MX");
request.Headers.Add("Application", "-------------------");
request.Headers.Add("Version", "1.0");
//Our method is POST, otherway buffer would be useless
request.Method = "POST";
//We use form contentType, for the postvars
request.ContentType = "application/x-www-form-urlencoded";
//The lenght of the content its set by postvars (buffer) lenght
request.ContentLength = buffer.Length;
//We open a stream for writing the postvars
Stream PostData = request.GetRequestStream();
//Now we write, and afterwards, we close.
PostData.Write(buffer, 0, buffer.Length);
「PostData」にポインタを合わせてから、長さと位置の属性に移動すると、次のようになります。
Length = 'PostData.Length' threw an exception of type 'System.NotSupportedException'
base {System.SystemException} = {"This stream does not support seek operations."}
これが本当の問題であるかどうかはわかりませんが、情報のモスを可能にしようとしています。
PostData.Close();
//Get the response Handle
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//lets show info about the response
Console.WriteLine("Estatus de la respuesta:" + response.StatusCode);
Console.WriteLine("Servidor : " + response.Server);
//Now we read the response (the string), and output it
//Stream answer = response.GetResponseStream();
//StreamReader _answer = new StreamReader(answer);
//Console.WriteLine("Respuesta: " + _answer.ReadToEnd());
あるフォーラムで、「_ answer.ReadToEnd()」が問題になる可能性があると読みましたが、コメントしたとしても、問題は依然として発生します。
私はこれを行っているので、後でWindows Phoneで試すことができますが、関係がないため、時間を無駄にしているかどうかはわかりません。
誰かが助けてくれることを願っています。前もって感謝します。