你如何让SMO发布它的连接?
我有这个代码:
public static class SqlServerConnectionFactory
{
public static Server GetSmoServer()
{
using (var c = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString))
{
var s = new ServerConnection(c);
c.Close();
return new Server(s);
}
}
public static Database GetSmoDatabase(Server server)
{
var db = server.Databases[ConfigurationManager.AppSettings["Database"]];
db.AutoClose = true;
return db;
}
}
Run Code Online (Sandbox Code Playgroud)
从IIS中运行的ASP.Net MVC应用程序调用这样的:
public ActionResult Index()
{
server = SqlServerConnectionFactory.GetSmoServer();
database = SqlServerConnectionFactory.GetSmoDatabase(server);
var vm = new SettingsIndexViewmodel(database);
return View(vm);
}
Run Code Online (Sandbox Code Playgroud)
对于我对此索引方法进行的每次调用,都会启动连接 - 并且不会再次释放.
所以在20次调用页面后,我有20个等待命令的连接.当我无法建立新连接时,最终会出现异常,因为连接池已满.

我需要做些什么来避免这种情况发生?我似乎无法在SMO Server对象上找到像Dispose,close或类似的方法.
我正在使用一个宏,它将文本插入页脚.宏完成后,页眉和页脚工具处于活动状态,因此我处于页脚的编辑模式.有谁知道如何用VBA关闭这个编辑模式?
谢谢
我可以将单页TIFF转换为.Net中的PNG,但是,我如何为多页TIFF执行此操作?
如何锁定我想要使用的Maven插件的版本?
我有PMD插件配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.5</version>
<configuration>
<outputDirectory>target/pmd</outputDirectory>
<targetDirectory>target/</targetDirectory>
<aggregate>true</aggregate>
<targetJdk>1.6</targetJdk>
<rulesets>
<ruleset>rulesets/basic.xml</ruleset>
<ruleset>rulesets/codesize.xml</ruleset>
<ruleset>rulesets/coupling.xml</ruleset>
<ruleset>rulesets/design.xml</ruleset>
<ruleset>rulesets/imports.xml</ruleset>
<ruleset>rulesets/logging-java.xml</ruleset>
<ruleset>rulesets/optimizations.xml</ruleset>
<ruleset>rulesets/strings.xml</ruleset>
<ruleset>rulesets/unusedcode.xml</ruleset>
</rulesets>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
昨晚,我的夜间构建失败,我不能再运行任何pmd目标,因为它试图找到该插件的2.6-SNAPSHOT版本.如果我有一个2.5的版本标签,它为什么甚至试图找到2.6-SNAPSHOT?此外,2.6-SNAPSHOT不在中心 - 为什么我的maven客户认为它存在?
Maven版本:2.0.9
Java版本:1.6.0_17
操作系统名称:"linux"版本:"2.6.24-24-generic"arch:"i386"系列:"unix"
编辑:
我升级到maven 2.2.1并观察到与以前相同的问题.通过从我的存储库(.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/maven-metadata-central.xml)中的元数据中删除2.6-SNAPSHOT,我能够构建项目.我还将latestVersion标记设置为2.5.这显然不是解决方案,因为我必须部署自己的插件或更改所有客户端上的缓存版本.
我们在内部使用TFS 2010作为.NET项目的源代码控制存储库.
来自其他部门的一些同事问我们是否可以为他们提供一个系统来版本化他们的文件(二进制文件或其他文件)而不是"源代码"相关,我想是否可以使用和配置TFS 2010来帮助他们.
请记住,他们不想安装Visual Studio,因此需要Web界面或命令行TFS命令的GUI.
你认为可行和有效吗?
提前致谢
Heya,我得到一个非常奇怪的错误,我试图在所有Android平台上从1.5到2.2(在手机和模拟器上)将对象序列化为JSON时无法理清.
我收到此错误:
E/AndroidRuntime(21017): Uncaught handler: thread AsyncTask #2 exiting due to uncaught exception
E/AndroidRuntime(21017): java.lang.RuntimeException: An error occured while executing doInBackground()
E/AndroidRuntime(21017): at android.os.AsyncTask$3.done(AsyncTask.java:200)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
E/AndroidRuntime(21017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
E/AndroidRuntime(21017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
E/AndroidRuntime(21017): at java.lang.Thread.run(Thread.java:1096)
E/AndroidRuntime(21017): Caused by: java.lang.NoSuchMethodError: org.json.JSONStringer.object
E/AndroidRuntime(21017): at com.qype.radar.api.json.JsonSerializationHelper.startModel(JsonSerializationHelper.java:119)
E/AndroidRuntime(21017): at com.qype.radar.api.json.JsonSerializationHelper.serializeCheckin(JsonSerializationHelper.java:94)
E/AndroidRuntime(21017): at com.qype.radar.api.QypeApiImpl.submitCheckin(QypeApiImpl.java:157)
E/AndroidRuntime(21017): at com.qype.radar.activities.tasks.SubmitCheckinTask.doCheckedInBackground(SubmitCheckinTask.java:29)
E/AndroidRuntime(21017): at com.qype.radar.activities.tasks.SubmitCheckinTask.doCheckedInBackground(SubmitCheckinTask.java:1)
E/AndroidRuntime(21017): at com.github.droidfu.concurrent.BetterAsyncTask.doInBackground(BetterAsyncTask.java:154)
E/AndroidRuntime(21017): at android.os.AsyncTask$2.call(AsyncTask.java:185)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
E/AndroidRuntime(21017): ... 4 more
Run Code Online (Sandbox Code Playgroud)
当在此代码中序列化评论时从'startModel()'到达'stringer.object'行时:
package …Run Code Online (Sandbox Code Playgroud) 有时当我启动我的java应用程序时,logback拒绝向我的日志文件写入任何内容.有时它也拒绝在午夜(或午夜之后的第一个日志记录事件)滚动日志文件,这导致日志记录事件丢失到空白.当我在logbacks无法滚动日志时查看我的主日志文件时,它将有23:59的时间,与昨天的日期一样,并且在此之后的任何和所有日志记录语句将无法挽回地丢失.我有一个相当简单的配置文件,看起来是正确的.它当然应该是正确的,因为它在大多数时间都有效.
这是我的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
<!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
<!--for further documentation-->
<append>true</append>
<File>aggregator.log</File>
<encoder>
<!-- was: %d{yyyy-MM-dd HH:mm:ss}%5p [%t] (%F:%L) - %msg%n -->
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] \(%class{25}:%line\) - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- By setting the name to .gz here, we get free compression. -->
<fileNamePattern>aggregator.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] \(%class{25}:%line\) - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="file"/>
<appender-ref ref="console"/>
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法可靠地重现此错误,因此调试它有点困难.有人能告诉我我做错了什么,或者其他可能是什么问题?如果它有任何帮助,我将STDOUT和STDERR重定向到/ dev/null(我在linux上运行,顺便说一句).
将网站从2.0框架升级到3.5框架的固有风险是什么?
我知道升级时给我的功能,只是好奇升级时是否有任何已知的问题.
IE函数X曾经以这种方式运行,现在表现出一种新的方式.
我需要一个Linux文本编辑器,具有以下功能:
记事本++具有的保持活动功能可以节省生命.我试过jEdit,但是还没有保持活力的功能.
我知道"Cu 80 Cx f"设置填充宽度80,Mq调整它.如何使其默认?我的意思是,如何使宽度80达到填充宽度?