ASP.NET作为服务器应用程序 - 在我进入它之前的问题

时间:2010-10-31 18:12:13

标签: asp.net

早些时候,我已经从头开始实现了一个自定义C ++服务器,这样做很有趣,但非常耗时。

所以我听说过Java的“servlet”,听起来像是我正在为下一个项目寻找的东西。

我正在将ASP.NET用作servlet,因为它在网络功能和编程功能方面非常成熟,我可以用C#编写代码,这是我已经知道并且感觉良好的语言

无论如何,在进入它之前,我想得到关于ASP.NET可能为我提供的一些功能的简明答案。
我的客户端应用程序是基于Flash的,与XML或HTTP协议(原始套接字)无关。

1)我可以接受原始(在协议方面)套接字连接保持活着只要需要吗?
2) 对连接的套接字应用AES加密有多困难/复杂?
3)我可以拥有“共享”,内存中的对象,例如列表,超过应用程序的实例吗? 4)我是否可以从客户端X收到一条消息并将副本/回复/报告(动态)发送给客户端Y,而不使用数据库或类似的东西?这个问题提出问题#5 5)我可以通过内存地址或对象地址识别连接,所以我可以直接参考吗?
6)我的应用程序可以分布在多台服务器上吗? 7) 扩展此类应用程序的难度和复杂程度如何?对于10个并发连接没有问题但是对于50,000个我肯定会期望负载问题 8)最后,最重要的问题可能是最复杂的答案:从程序员的角度看环境有多灵活?我的意思是,我可以控制诸如“ on_connect“,”on_disconnect“和类似的东西? 从连接X的事件(例如“on_data_received”)访问连接Y有多难?

2 个答案:

答案 0 :(得分:0)

ASP.Net更像是JSP而不是Java Servlets,因为它需要运行Web服务器。通常使用IIS,因为Microsoft已经在那里内置了ASP.Net支持,但是可以在其他Web服务器上运行ASP.Net。作为Web服务器产品,它都是HTTP,因此无连接。根据您的问题1,2,4,5和8,这对您来说可能是一个交易杀手。

如果您可以使用HTTP / HTTPS连接对Flash应用程序进行编码以管理自身,那么使用ASP.Net构建您的应用程序可以使用的Web服务是一个不错的选择。 IIS已经成熟,可以很好地扩展(q的6& 7)。它还有一个可以使用的应用程序级存储(q3)。当然,服务器场中的每个服务器都有自己的副本。

用C#实现自己的服务器比用C ++更省力,但这仍然是一项耗时的工作。如果你选择走那条路,那么System.Net.Sockets中的TcpListener类将成为起点。

答案 1 :(得分:0)

我会使用Client / Server .NET应用程序,而不是ASP.NET,因为它不属于“范围”。

除非其中一个要求是拥有公共网站?