我有AngularJs前端Web应用程序,它与用NancyFx编写的后端Web API进行通信。我和Nancy有性能问题,每当我调用我的API服务时,Nancy首先扫描我模块中的每个方法,然后输入正确的方法。
例如:
在我的Nancy模块中,我有Get,Post,Put和Delete。当我在API上调用get方法时,Nancy会扫描Get,Post,Put,Delete,然后输入Get方法。所以每当我打电话给服务时,至少需要2秒才能输入正确的方法。
据我所知,南希默认扫描模块识别正确的路线,但在我的情况下,这需要太长时间。我的模块类不是很大我在模块中有大约150行代码。
这是默认的Nancy行为,是否可以在Boostrap中重写,或者如何提高性能?
答案 0 :(得分:5)
在没有看到你的代码的情况下,没有太多东西要去,但你所描述的内容没有意义。
Nancy在第一次请求时预先扫描,以构建所有路由和实现的缓存。然后找到相应的匹配路由并调用实现。
之后的任何请求只涉及后一部分。
可能存在许多可能导致调用变慢的事情,例如将逻辑放在路由实现之外的构造函数中。依赖性很慢的解决方案。数据库访问。等
但是没有看到任何代码我怀疑任何人都可以指出你的性能问题。