OnDisconnected Ich versuche, Benutzer von Benutzernamen zu bekommen, ist mein Code innerhalb der OnConnected
Methode arbeiten, aber in OnDisconnected
ich bin Object reference is not set to an instance of an object
dieses immer ist mein Code:Erste Objektverweis nicht auf eine Instanz eines Objekts festgelegt innerhalb SignalR
Arbeiten hier:
public override async Task OnConnected()
{
var id = Context.ConnectionId;
var userName = Context.User.Identity.Name;
var connectedUser = new ChatUserModel();
var existingUserResponse = await _client.GetAsync("chats/users/" + userName + "/");
if (existingUserResponse.IsSuccessStatusCode)
{
var existingUserResult = existingUserResponse.Content.ReadAsStringAsync().Result;
var existingUser = JsonConvert.DeserializeObject<ChatUserModel>(existingUserResult);
existingUser.connectionId = id;
connectedUser = await AddOrUpdateUser(existingUser);
}
var response = await _client.GetAsync("chats/users");
var result = response.Content.ReadAsStringAsync().Result;
var users = JsonConvert.DeserializeObject<List<ChatUserModel>>(result);
Clients.Client(id).userConnected(users);
}
Aber nicht hier in:
public override async Task OnDisconnected(bool stopCalled)
{
var userName = Context.User.Identity.Name;
try
{
var response = await _client.GetAsync("chats/users/" + userName + "/");
}
catch (Exception ex)
{
string msg = ex.Message;
}
//var existingUserResult = existingUserResponse.Content.ReadAsStringAsync().Result;
//var existingUser = JsonConvert.DeserializeObject<ChatUserModel>(existingUserResult);
//existingUser.connectionId = "";
//var connectedUser = await AddOrUpdateUser(existingUser);
}
können Sie ein Beispiel geben? –
Ich habe die Antwort bearbeitet. –
hast du es versucht? –