0
我试图获得通过用户名用户的情况下,我的代码工作的OnConnected
方法内,但在OnDisconnected
我越来越Object reference is not set to an instance of an object
这是我的代码:获取对象引用未设置到对象内SignalR OnDisconnected
在这里工作:
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);
}
不能在这里:
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);
}
到达用户,您可以举个例子? –
我编辑了答案。 –
你有没有试过? –