我有一个在Tomcat下运行的java应用程序。相当简单的体系结构 - 用户通过HTTP调用servlet,然后将请求放入内存队列中。作为ServletListener启动并正在运行的消费者线程轮询队列并处理请求,包括调用一些存储过程并通过套接字连接将一些数据发送到后端系统。
我可能需要将代码移植到C#。我想弄清楚的是微软领域的等效技术是什么,这将使我能够构建相同的系统。将代码从Java移植到C#将是微不足道的,但我似乎无法找到来自MS的应用程序服务器技术,这将允许我放入我的代码然后声明性地指定我想要一个新的“servlet”对于每个HTTP调用,我需要在同一个进程中运行“守护进程”线程等...
有什么建议吗?我不熟悉MS风景......
答案 0 :(得分:2)
见what-are-the-correspondent-of-servlet-and-applet-in-net。接受的答案是:
在.Net中,HTTP处理程序(.ashx)可能是最接近servlet的东西。
答案 1 :(得分:2)
vivek devarajan从Java EE迁移到.NET 阅读http://www.stardeveloper.com/articles/display.html?article=2003032802&page=1
他有一个关于您可能喜欢的Servlet迁移到C#的部分。
答案 2 :(得分:1)
我认为它是System.Net.HttpListener:
http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx
但我还不是.NET的人。
答案 3 :(得分:1)
如果您不熟悉Microsoft环境,那么不要期望快速学习,因为运行网站/服务远比大多数人想象的要复杂得多。也就是说,如果你想运行一个安全的环境。
首先,我想知道你为什么要转向C#和IIS。 Apache也可以在Windows上完美运行,如果你能在Windows系统上以相同的方式运行它,我也不会感到惊讶。
但如果你想转向C#和Windows开发,首先要阅读一些技术书籍! O'Reilly有一些关于C#和.NET的优秀书籍,包括“学习WCF”,“编程实体框架”和“编程ASP.NET 3.5”这样的标题,它们应该为迁移到.NET提供足够的信息。
然而,它将与您习惯的不同。设计模式类似,但名称和技术确实不同。
但是,我不是一个Java人。所以我不知道你想在这里做什么...
关于ASP.NET中servlet的等价物,我认为gimel部分正确。 HTTP处理程序将允许您生成任何类型的响应,包括非html页面。我过去曾用它们将XML或Excel格式的数据返回给用户。我还用它们来生成带有额外水印的动态图像。但是数据服务(.svc)也可能是一个不错的选择。 (我使用一个作为实体模型的RESTful服务。)或者只是一个常规的Web服务(.asmx)可能是实用的。
在这个级别上,.NET和Java不容易比较。每个人都有很多自己处理事物的技巧。我几乎认为servlet的等价物是ASP.NET本身,而不是子部分。
答案 4 :(得分:0)
供应商将使用所有Java EE概念(如Servlet,MDB和资源连接器,使用少于100万个配置文件)制作标准化,事务性,基于容器的.NET服务器。