मैं इस नई परियोजना में काम करने के लिए यह tutorial प्राप्त कर सकता हूं, लेकिन मेरे मौजूदा प्रोजेक्ट में नहीं।सिग्नलआर:/सिग्नलर/हब्स उत्पन्न नहीं होते
मेरे परियोजना web.config फ़ाइल में निम्न विशेषता के साथ एक ASP.Net MVC 4 वेब अनुप्रयोग है:
<appSettings>
<add key="webpages:Enabled" value="true"/>
</appSettings>
इसका कारण यह है अपने आवेदन एक एकल-पृष्ठ-आवेदन, जिस पर AngularJS का उपयोग करता है ग्राहक पक्ष। अपने आवेदन में केवल पेज index.cshtml, जो मैं signalR के लिए प्रासंगिक कोड जोड़ दिया है:
public class ChatHub : Hub
{
public void Send(string name, string message)
{
// Call the broadcastMessage method to update clients.
Clients.All.broadcastMessage(name, message);
}
}
और अंत में:
<!-- signalR chat -->
<script src="~/Scripts/jquery.signalR-1.0.0.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="/signalr/hubs"></script>
<!--Add script to update the page and send messages.-->
<script type="text/javascript">
$(function() {
// Declare a proxy to reference the hub.
var chat = $.connection.chatHub;
// Create a function that the hub can call to broadcast messages.
chat.client.broadcastMessage = function (name, message) {
// Html encode display name and message.
var encodedName = $('<div />').text(name).html();
var encodedMsg = $('<div />').text(message).html();
// Add the message to the page.
$('#discussion').append('<li><strong>' + encodedName
+ '</strong>: ' + encodedMsg + '</li>');
};
// Get the user name and store it to prepend to messages.
$('#displayname').val(prompt('Enter your name:', ''));
// Set initial focus to message input box.
$('#message').focus();
// Start the connection.
$.connection.hub.start().done(function() {
$('#sendmessage').click(function() {
// Call the Send method on the hub.
chat.server.send($('#displayname').val(), $('#message').val());
// Clear text box and reset focus for next comment.
$('#message').val('').focus();
});
});
});
</script>
तब मैं ChatHub.cs फ़ाइल मिल गया है Global.asax में:
protected void Application_Start()
{
RouteTable.Routes.MapHubs();
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
जब मैं आवेदन चलाने के लिए,/signalr/केन्द्रों फ़ाइल उत्पन्न नहीं है। जब फ़ाइल का अनुरोध करते समय मुझे 404 मिलता है, और यह लाइन पर दुर्घटनाओं:
chat.client.broadcastMessage = function (name, message) { ....
क्योंकि चैट अशक्त के रूप में पिछली लाइन भी नहीं मिला है chatHub:
var chat = $.connection.chatHub;
किसी को भी पता है क्या गलत है मेरी कोड?
अद्यतन
मैं लाइन ::
<script src="/signalr/hubs"></script>
<script src="~/signalr/hubs"></script>
बीटीडब्ल्यू, '/ सिग्नलर/हब्स 'परियोजना में एक फ़ाइल नहीं है। अगर किसी को ढूंढने में समय बर्बाद करने का लुत्फ उठाया जाता है। यदि आप ऐप लॉन्च करते हैं तो उस यूआरएल पर जाएं, यह आपको दिखाएगा। – toddmo
@toddmo, इसका मतलब क्या है कि यह फ़ाइल नहीं है? , मैंने एक वास्तविक समय अधिसूचना प्रणाली विकसित की है और यह $ .connection.hub.start() का आविष्कार नहीं कर रहा है। मुझे लगता है कि ~/सिग्नल/हब्स को इसके साथ कुछ करना है क्योंकि पैकेज को जोड़ने के बाद भी समाधान में कहीं भी नहीं है – Saurabh
@toddmo, टिप्पणी पोस्ट करने के लिए खेद है क्योंकि मैं एक ही प्रश्न फिर से पोस्ट नहीं करना चाहता, मेरी रूट निर्देशिका http: // localhost है: 56547/होम/इंडेक्स, क्या आप http: // localhost: 56547/सिग्नल/हब्स पर जाने का सुझाव दे रहे हैं ?? – Saurabh