当前位置: 首页 > 编程语言 > C#

如何构建面向Web的应用程序?分享

时间:2023-04-10 23:53:06 C#

你如何构建面向网络的应用程序?我开始设计一个新的主要面向Web的应用程序,我正在寻找提出良好架构设计或类似OOP模型的人的建议。请描述基本架构和/或类结构。你抽出通信位了吗?你想到了什么类实体?该应用程序将同时具有侦听器和客户端类。它类似于提要聚合器,但使用持久连接而不是HTTP。换句话说,我连接到套接字并拥有数据双向流动的持久连接。然后我还与我的客户建立了持久连接,我向他们发送了一些(或全部)数据。此外,我不能在.NET3.0或3.5中使用WCF或任何东西(尽管我可以使用C#3,因为我是在VS2008中开发的)。我必须与Windows2000兼容。我正处于几周前开始编写的客户端-服务器应用程序的尾端。我使用WCF作为.Net客户端和服务器。但是服务器还必须连接到网络上只能理解TCP/IP上的ASCII的设备。你抽出通信位了吗?是的。我猜。我的意思是,我不确定我是否100%理解您的问题。对于与第三方设备的TCP连接,我将TCP连接和通信的详细信息隐藏在我编写的类后面。该设备将ASCII命令转换为IR信号,以控制诸如卫星天线和DVD播放器之类的东西。我将TCP通信抽象为一个类,所以我的服务器所要做的就是调用:_irService.SendCommand(someAsciiCommand);你想到了什么类实体?它们基于我的域名。你的应该基于你的域名。我不确定我是否理解这个问题。您的域将决定您的对象。在我的域中,我正在开发一个服务器应用程序,该应用程序负责使用VLC通过UDP安排和播放多播广播。这些多播广播必须以各种方式进行配置。当我分析域时,我想出了一个由Broadcasts、Channels、Devices和BroadcastProcesses(负责启动vlc.exe进程并维护其生命周期的类)组成的模型。该域对网络技术影响不大。我最终在WCF中使用了一些允许我操作域的双工“服务”。但是网络选择并不是由域名决定的。我想要一个带有对象二进制序列化的TCP连接,我想与服务器进行双向通信,以便我的客户可以通过回调获得实时更新。无论我的域名是什么样子,我都可以使用这些选项。“Web应用程序”是一个定义不明确的类别,涵盖了广泛的可能需求和设计。根据定义,您将不得不处理并发性和延迟。稳健性始终是一个挑战:设计一个可用性是其所有硬件和软件组件的最低标准的系统非常容易。您将不得不升级应用程序的操作系统和组件:您是否能够制定出所有解决方案,或者您是否需要一些热/冷备用甚至故障转移功能?网络以令人震惊的方式失败(至少对我们可怜的纯软件人员而言):你依赖于很多你从未考虑过的东西(路由器、交换机、DNS服务器、走廊里那个大胡子网络工程师的脾气!),以及应该被设计成与悲观情绪相互作用。一个警告:在设计分布式应用程序时不要过于面向对象。对象在管理软件复杂性方面占有一席之地,但是当您开始将它们推到线上时,大量的性能和版本依赖性问题就会浮出水面。面向服务的体系结构是一个流行词,但作为一种设计原则还是很有用的。大型机人员早就知道这一点……推荐两本通用书籍:以上是C#学习教程:如何构建面向Web的应用程序?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: