如何与Web App和C#进行通信

时间:2015-08-03 16:27:55

标签: javascript c# node.js websocket

我试图创建一个需要与使用C Sharp编写的程序进行通信的Web应用程序。但我无法找到良好的沟通方式。我需要的是,如果用户点击Web应用程序上的某些内容,它将通知C Sharp程序。此外,如果C Sharp程序发生事件,则需要提醒Web应用程序。这两个都将在同一台机器上运行。

现在我主要定期专注于C Sharp计划,并且要求" Web应用程序的状态是什么。

我已尝试对网络应用使用POST请求,但我已经取得了一些成功,但我不知道如何基本上存储和更新"状态&# 34;在网络应用程序上。例如,C Sharp程序发送一个POST / GET请求询问状态,Web应用程序响应"没有任何改变"或某种状态代码。我不知道如何跟踪这种状态。

我尝试使用网络套接字,但我认为它不可能在C Sharp方面实现。但是,我绝对愿意接受有关如何运作的建议。

我尝试过使用Socket.io和Node.js,但我还没有成功。我之前从未使用过Node.js所以我做了一些例子,我得到了它的基本元素,但我无法建立一个完整的Web套接字。另外,我根本无法让Socket.io为我工作。

我已经研究过使用ReST架构风格,但我很难理解如何实现它。我主要在Apache服务器上使用AJAX,而且我看到的大部分ReST示例都使用了IIS。

我成功的一种方法是一种可怕的解决方法。我使用3个文件来存储内容,Web应用程序的状态以及C Sharp程序的状态。但这需要我不断地提取文件,阅读文件,编写新文件并上传文件。

据我所知,使用" ws://echo.websocket.org"简单地回应响应。我不知道如何将消息定向到C Sharp应用程序:

<!DOCTYPE HTML>
<html>
   <head>
      <script type="text/javascript">
        function WebSocketTest(){

            var ws = new WebSocket("ws://echo.websocket.org");
            var msg = document.getElementById("message").value;

            ws.onopen = function(){
                ws.send(msg);
                alert("Message Sent: " + msg);
            };

            ws.onmessage = function (event){ 

                var received_msg = event.data;
                var response

                if(received_msg == "1"){
                    response = "Some Response";
                    alert("Message Received: " + received_msg + "\nResponse: " + response);
                }else if(received_msg == "2"){ 
                    response = "Some Response";
                    alert("Message Received: " + received_msg + "\nResponse: " + response);
                }else if(received_msg == "3"){ 
                    response = "Some Acknowledged Response";
                    alert("Message Received: " + received_msg + "\nResponse: " + response);
                }else{
                    alert("Message Received: " + received_msg);
                    response = "Command Not Recognized";
                }
                //ws.send(event.data);
            };

            ws.onclose = function(){ 
                alert("Connection is closed..."); 
            };
        }
      </script>
   </head>
   <body>
        <input type="text" id="message" placeholder="Message to Send"></input>
        <div id="sse">
            <a href="javascript:WebSocketTest()">Run WebSocket</a>
        </div>
        Type in a message to send to an "echo" Web Socket.<br>
        Message will be sent, Web Socket will send back the same message. <br>
   </body>
</html>

以上示例将回显发送的内容以及响应是否为1,2或3.它还将显示自定义响应。这可能不是我想要的。

澄清: 我想在后台运行一个C Sharp程序。某些事件发生在C Sharp程序捕获的情况下,它会将该事件发送到用户将要查看的Web App。 此外,Web App正在运行,用户点击了某些内容,因此Web App需要向C Sharp程序发送一些消息以便相应地处理它。

我所说的网络应用程序正在使用一堆Javascript / Jquery / AJAX向用户显示一堆控件。 C Sharp程序实现了这些控件来完成他们应该做的事情。如果我需要澄清更多,请告诉我。很多这对我来说显然是非常新的,所以我道歉。

注意:几天前我问过这个问题,但我现在正在详细阐述并包含源代码。我想过只是编辑上一篇文章,但它没有很多洞察力或注意力,所以我认为创建一个新帖更好。如果我刚刚编辑了上一篇文章,请告诉我,我将从现在开始这样做。感谢。

0 个答案:

没有答案