मैं नमूना चैट एप्लिकेशन बनाने के लिए सिग्नलर और एएसपीनेट एमवीसी 3 का उपयोग कर रहा हूं। यहां मेरा सिग्नलर हबसिग्नलआर - उपयोगकर्ता नाम
public class MyHub:Hub,IDisconnect
{
public Task Join()
{
string username = HttpContext.Current.User.Identity.Name;
//find group based on username
string group = getGroup(username)
return Groups.Add(Context.ConnectionId, group);
}
public void doStuff()
{
string group = getGroup();
Clients[group].doStuffOnBrowser();
}
}
मेरी समस्या यह है कि पृष्ठ लोड होने पर मेरा ऐप क्रैश हो गया है। डीबगर के साथ कदम उठाने पर, मैंने पाया कि HttpContext.Current.User.Identity.Name शून्य है, भले ही उपयोगकर्ता पहले ही प्रमाणीकृत हो चुका है। मैं अपने टास्क जॉइन() विधि में उपयोगकर्ता नाम कैसे प्राप्त कर सकता हूं?
कौन सा प्रमाणीकरण मोड आप (रूपों, खिड़कियां, आदि) का उपयोग करते हैं? क्या आप वाकई प्रमाणित हैं? क्योंकि एक नए इंट्रानेट एमवीसी 3 ऐप में 'HttpContext.Current.User' और' Context.User' दोनों शून्य नहीं हैं और वर्तमान उपयोगकर्ता हैं। – nemesv
@nemesv - मेरा आवेदन फॉर्म प्रमाणीकरण का उपयोग करता है और एक इंटरनेट एप्लीकेशन है। सिग्नल का उपयोग करने वाला पृष्ठ केवल तभी पहुंचा जा सकता है जब उपयोगकर्ता –
हैलो @ उपयोगकर्ता 1 प्रमाणीकृत है, क्या आप सिग्नलआर का उपयोग करके कई चैट रूम के लिए मुझे डेमो प्रदान कर सकते हैं। मैं chat.stackoverflow.com जैसे चैट सर्वर को कार्यान्वित करना चाहता हूं –