我使用的是EF 6.1.0
我在DBEntites下面有自定义DBContex对象
public partial class DbEntities : DbContext
{
public DbEntities()
: base("name=DbEntities")
{
////Configuration.LazyLoadingEnabled = true;
////Configuration.ProxyCreationEnabled = false;
}
//// I have ALL Entites added as below
////public virtual IDbSet<CCode> CCodes { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在上下文对象上有以下操作
using (var context = new DbEntities())
{
var entitySet = context.Set<T>();
var res = entitySet.Where<T>(predicate).ToList();
if (context.Database.Connection.State == ConnectionState.Open)
{
context.Database.Connection.Close();
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
但在处置上下文对象后,我仍然可以看到活动的数据库连接.在连接状态条件下,我可以看到连接已经关闭(连接从未成立).
我使用以下查询来查看SQL上的连接.
select db_name(dbid) , count(*) 'connections count'
from master..sysprocesses
where spid > 50 and …Run Code Online (Sandbox Code Playgroud) 我已经开始ConfigureAwait(false)与所有异步sql对象一起使用。
connection.OpenAsync().ConfigureAwait(false);
cmd.ExecuteNonQueryAsync().ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)
但我担心的是,这种方法会产生任何影响吗?
因为这将在线程池中运行,而线程池是一个独立的线程,所以我不确定如果不在单个线程上运行会带来什么后果。
我们的应用程序是wcf服务,它将并行处理1000条记录。
如果有人帮助确定可能存在问题的业务场景,那将是有帮助的。
谢谢
我有一个带有模板参数的 URL。
https://test.azure-api.net/HelperFunction/{siteId}/lots/InventoryItem/{itemId}
Run Code Online (Sandbox Code Playgroud)
https://test.azure-api.net/HelperFunction/122/lots/InventoryItem/12
Run Code Online (Sandbox Code Playgroud)
我想阅读入站策略部分中的模板/路径参数。
我正在尝试如下。但它只会获取查询字符串参数。我想获取路径参数。
<inbound>
<set-body>@{
JObject transBody = new JObject();
transBody.Add("Arguments",
new JObject
{
{"method", context.Request.Method},
{"parameters", context.Request.Url.QueryString},
});
//Add all json properties as arg
transBody.Add("UriPath", context.Request.Url.Path);
return transBody.ToString();
}</set-body>
<base />
</inbound>
Run Code Online (Sandbox Code Playgroud)
我的要求是将路由参数读取为
"siteId" : 122,
"itemId" : 12
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。