2017-07-27 6 views
0

に達し、ここに私のコードがあるサーバからWebRequestクラスC#のAPIのヌルはかつて私は、私のAPIにサーバー側からの要求を送信しようとしていますAPI

var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:59606/api/values/UserCheck"); 
     httpWebRequest.ContentType = "application/json; charset=utf-8"; 
     httpWebRequest.Method = "POST"; 
     using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) 
     { 
      string json = "{\"username\":\"User\"," + 
          "\"password\":\"Mypassword\"," + 
          "\"logonfrom\":\"DOMAIN\\DomainName\"}"; 



      streamWriter.Write(json); 
      streamWriter.Flush(); 
      streamWriter.Close(); 
     } 

     var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 
     using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) 
     { 
      var result = streamReader.ReadToEnd(); 
      Console.WriteLine(result); 
      Console.ReadLine(); 
     } 

月のAPIコード以下の通りです:

[HttpPost] 
    [ActionName("UserCheck")] 
    public bool UserCheck([FromBody]User value) 
    { 
     ContextType CT = ContextType.Domain; 
     if (value.logonfrom.Split('\\')[0] == "DOMAIN") 
     { 
      CT = ContextType.Domain; 
     }else if(value.logonfrom.Split('\\')[0] == "MACHINE") 
     { 
      CT = ContextType.Machine; 
     }else 
     { 
      return false; 
     } 

     return CheckCredentials(value.username, value.password, CT,value.logonfrom.Split('\\')[1]); 
    } 

は私の要求はUserCheckのアクション、

([FromBody]User value) 

の値に達したときにnullである

私はJSONからlogonfrom変数を削除すると、ユーザーのための私のクラスには誤りがない

public class User 
{ 
    public string username { get; set; } 
    public string password { get; set; } 
    public string system { get; set; } 
    public string IP { get; set; } 
    public string logonfrom { get; set; } 
} 

しかしを下回っている、私はパラメータ(値)が正常に私が送信したコンテンツをキャプチャ意味。

ありがとうございました

+0

単純なjson形式のスラッシュをjson文字列から削除するだけです。 – Koderzzzz

+0

こんにちは、ありがとう答えが、それでもnullは私のシンプルなjson形式の文字列json = "{username:User、" + "パスワード:Mypasswod" + "logonfrom:DOMAIN \\ Domainname}"; –

答えて

0

次のコードを使用してください。

string json = JsonConvert.SerializeObject(new { username = "afsa", password = "fsaf", system = "fsaf", ip = "fsf", logonfrom ="fsfsd"}); 
+0

こんにちは、ありがとうございますが、JsonConvertのリファレンスは何ですか?それは私の参照から欠けている。おかげで –

+0

最初にあなたはnugteパッケージからnewtonsoftをインストールする必要があります.. – Koderzzzz

+0

こんにちは感謝の仕事今 –

関連する問題