|
|
1
3
因为你在创造一个新的
事实上,它是一个静态方法…这似乎不是问题,因为您没有更新任何共享状态(全局变量)。 编辑:afaik,webservices中静态方法的“陷阱”与任何其他应用程序中的“陷阱”相同。唯一需要注意的是,WebService是一个可以长期可靠运行的服务器。因此,随着时间的推移,可能导致问题的事情(内存泄漏、数据库连接耗尽等)比运行时间更短的其他应用程序更为重要。 |
|
|
2
3
我不知道C语言是否像Java,但是打开SQL连接并在离开方法之前关闭它对我来说不是一个好主意。GC将清除它一旦超出范围,但这不是关闭爪哇的连接相同的事情。 Java中的成语将要求您关闭最后一个块中的连接。除非你确定C班不需要这样的东西,否则我会调查的。 你很快就会发现-如果网络连接数量稀少,成千上万的网络呼叫会很快耗尽可用的连接数量。 还有一件事要做:打开这种连接在Java中是昂贵的,所以它们通常是汇集的。连接池是否也在C中完成?保持打开和关闭数据库连接是否效率低下?你能用一个静态的、共享的连接完成同样的事情吗?如果你这样做,也许线程问题会起作用。 |
|
|
3
3
需要注意的是,静态成员更改了应用程序域中其他线程可以访问的状态。在这些情况下,你必须采取适当的措施使它有序地发生。 你的方法不会脱离自身的任何状态(一切都是本地的),所以你没问题。 正如Duffymo和Nader所指出的,您应该处理您的连接,因为您应该处理实现IDisposable的任何对象。 |