2010-09-17 204 views
0

我有一个体面的大小的.NET代码,现在需要通过ASP网页访问。事务需要定期发送到这个“服务器”进行处理。处理需要不到一秒钟的时间,每天可能有100-1000次这样的事务通信web-windows服务器:代理DLL,web服务或windows服务+ WCF?

我真的只在COM和Windows服务上工作过,所以我的正常做法是让Windows服务将所有必要的数据在内存中运行,客户端GUI将连接并发送请求并接收答案。

从我可以做的关于ASP的一个DLL或Web服务是现在访问服务器的方式。

我与DLL的问题是,DLL是否必须从数据库中加载信息以构建最新信息,然后才能检查事务。应该只需要一秒钟,但是与持续运行的Windows服务相比,是额外的开销。另一方面,Windows服务需要更加容错。

只有3-4个API需要被调用,并且不可能在将来改变。

所以问题:Windows服务+ WCF /套接字/ ...或DLL或Web服务?

回答

0

我会自己去与DLL/Web服务(或WCF服务)。 ASP.NET具有缓存可用,并且您还可以创建一些生存在应用程序生命周期(可通过IIS进行调整)的单例类型对象。像这样的东西基本上可以让你拥有你在windows服务中拥有的持久状态。

我可以提供的唯一真正的好处是使用DLL/Web服务比Windows服务需要更少的配置/权限;并且使用Windows服务,您还会遇到IPC处理问题(以及与之相关的所有安全问题)。