방주에서 알림 수신 : 생존 진화 게임 서버를 만들어서 Steam 계정으로 보냅니다. 스팀 채팅 시스템을 사용하는 플레이어!Owin 자체 호스트 사용 ASP.Net API2 쿼리 문자열 대신 본문에 데이터가 포함 된 POST 요청을 수신 할 수 없습니다.
아니라, 모든 것이 문제없이 크게 이루어졌다, 나는 쿼리 문자열에서 전송 된 데이터를 사용하여 내 작업을 테스트하고, 작업 및 메시지 등
하지만 지금을 보내 나는 게임 서버를 사용하여 체크하는 것이, 그것은 작동하지 않습니다.
문제는 쿼리 문자열 대신 본문 내용이있는 HTTP POST 요청을 보내는 것으로서 내 응용 프로그램이 수신하지 못하는 것 같습니다.
POST 요청을 수신하기 위해 많은 예제를 만들었지 만 작동하지 않는 것 같아요. 저는이 문제를 해결하는 방법을 알고있는 사람이되기를 바랍니다. 5 시간 넘게이 작업을하고 있기 때문에 모든 희망을 잃었습니다. 그것에 대해 C# SOChat. 이들의
비 보인다 https://github.com/LuckyPed/Ark-Steam-Notifier-Console/blob/Post-Data/ArkSteamNotifier/ValuesController.cs가 작동 : : 그런 다음 Post
을 변경
public class SteamData
{
public string Key {get; set;}
public ulong SteamId {get; set;}
public string NoteTitle {get; set;}
public string Message {get;set;}
}
:
public void Post1(string key, ulong steamid, string notetitle, string message)
{
if (!Program.settings.UnSub.Contains(steamid))
{
SteamID SID = new SteamID(steamid);
Program.steamFriends.SendChatMessage(SID, EChatEntryType.ChatMsg, System.DateTime.UtcNow + " UTC (GMT) : " + notetitle);
Thread.Sleep(1000);
Program.steamFriends.SendChatMessage(SID, EChatEntryType.ChatMsg, message);
}
}
public void Post([FromBody]string key,[FromBody]ulong steamid,[FromBody]string notetitle,[FromBody]string message)
{
if (!Program.settings.UnSub.Contains(steamid))
{
SteamID SID = new SteamID(steamid);
Program.steamFriends.SendChatMessage(SID, EChatEntryType.ChatMsg, System.DateTime.UtcNow + " UTC (GMT) : " + notetitle);
Thread.Sleep(1000);
Program.steamFriends.SendChatMessage(SID, EChatEntryType.ChatMsg, message);
}
}
public class MyFormData
{
public string Data { get; set; }
}
public void Post([FromBody]MyFormData formData)
{
}
public void Post([FromBody]MyData formData)
{
}
public class MyData
{
public string key { get; set; }
public string steamid { get; set; }
public string message { get; set; }
public string notetitle { get; set; }
}
public void Post(string value)
{
}
public void Post1([FromBody]string value)
{
}
이것이 작동하지 않는다고 말하면 어떤 문제가 발생합니까? – Pedro
게임 서버가 POST를 보내면 앱에 표시되지 않습니다. 하지만 피들러와 나는 POST가 만들어지고 있는지 확인할 수 있습니다 : http://prntscr.com/bswyme – Pedram
아, 당신은이 모든'Post' 액션들을 모두 한 번에 컨트롤러에 가지고 있습니까? 이는 요청에 대해 어느 것을 선택해야할지 모르기 때문에 Web API를 이동할 수 있습니다. – Pedro