我想知道什么是最好的选择:在IIS中托管WCF http服务或在IIS中创建网站并在其中使用HttpModule来处理请求?
或者也许在Windows服务中托管WCF http服务?
service / httpmodule仅记录传入帖子消息的正文,不返回任何内容。
良好的性能,例如300帖子/秒。至关重要。
答案 0 :(得分:1)
我认为性能可以忽略不计,并且在IIS中托管服务的好处意味着如果您需要专门提供服务,您将获得IIS应用程序的额外管理和配置优势。
我认为性能实际上取决于服务正在处理的工作量。
我更喜欢通过HttpModule的WCF服务,因为WCF会为你包装SOAP处理,如果你正在构建模块,你必须自己动手。
答案 1 :(得分:1)
无论您采用哪种方式,我都非常确定任何类型的日志记录都会降低服务器的性能。如果平均每秒300个请求,则每秒的线程数会竞争日志文件。有些线程必须等待才能访问日志文件,如果足够排队,将会有很大的延迟。
尽管如此,两者之间的性能差异微不足道 - 您应该根据自己对技术的熟悉程度做出决定。
WCF确实具有内置诊断功能,因此您无需编写代码即可记录消息(请参阅MSDN),但学习WCF需要花费更多精力。这样做的好处是,如果您发现日志记录影响性能过高,则可以在不重写应用程序的情况下将其关闭。
您的应用仅是否记录了帖子而没有做任何其他事情?如果是这样,我建议使用数据库(SQL Server,mySQL等)而不是文件系统 - 这将提供更好的性能。