试图通过发出"sp_reset_connection"来理解Sql Profiler的含义.
我有以下,"exec sp_reset_connection"行后跟BatchStarting和Completed,
RPC:Completed exec sp_reset_connection
SQL:BatchStarting SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]
SQL:BatchCompleted SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]
Run Code Online (Sandbox Code Playgroud)
基本上第一行"exec sp_reset_connection"意味着整个过程(我的连接被打开,选择stmt运行,然后连接关闭并释放回池)刚刚发生?或者我的联系仍处于开放阶段.
而且,为什么sp_reset_connection在我自己的select语句之前执行,不应该在用户的sql之后复位吗?
我想知道有什么方法可以更详细地了解连接何时打开和关闭?
通过查看"exec sp_reset_connection",这是否意味着我的连接已关闭?
sql-server database-connection sql-server-profiler sp-reset-connection
我有一个表用户,它有一个标识列UserID,现在什么是正确的Linq to Entity代码行,它会返回最大值UserID?
我试过了:
using (MyDBEntities db = new MyDBEntities())
{
var User = db.Users.Last();
// or
var User = db.Users.Max();
return user.UserID;
}
Run Code Online (Sandbox Code Playgroud)
但似乎Last并Max没有得到支持.
有任何想法吗?
当我在我的解决方案中新建一个WCF服务时,我可以执行以下操作,有一个带参数的构造函数来传入吗?如果是,运行时如何,何时以及在何处填写我所需的IBusinessLogic对象?
[ServiceContract]
public interface IServiceContract
{
[OperationContract]
...
}
public class MyService : IServiceContract
{
IBusinessLogic _businessLogic;
public ServiceLayer(IBusinessLogic businessLogic)
{
_businessLogic = businessLogic;
}
...
}
Run Code Online (Sandbox Code Playgroud) 似乎EnyimMemcached(https://github.com/enyim/EnyimMemcached)和BeITMemcached(http://code.google.com/p/beitmemcached/)都是流行的.NET Memcached库.两者都是正在开发的相当活跃的项目,下载量超过一千.试图找出使用哪一个但发现竞争性评论!我确实阅读了另一篇相关的帖子,但仍然想在做出决定之前询问更多人.
EnyimMemcached在其项目主页(https://github.com/enyim/EnyimMemcached)上声称,
基于我们未公开的特别手工制作的内部性能测试,我们是有史以来最快的C#客户端,使用负数量的系统资源,无论是内存还是CPU时间
和
我们严格遵循memcached的协议规范:即使是memcached的人也会问我们他们是否理解
虽然BeITMemcached在其项目维基页面(http://code.google.com/p/beitmemcached/wiki/Features)上声称
我们已经对BeIT Memcached客户端进行了广泛的功能测试和性能测试,我们很满意它正在按预期工作.当我们将性能与其他两个客户端(java端口和Enyim memcached客户端)进行比较时,我们的客户端消耗的资源最少,性能最佳.它还严格遵循memcached协议规范,具有最多的memcached功能,并且在实际代码大小方面仍然小得多.
那么对于那些有这些或类似经验的人,你选择使用哪个客户,也可能选择你选择的那个?
谢谢,
射线.
ASP.NET团队建议使用缓存而不是会话,我们在过去几年中停止使用会话来处理WebForm模型.所以我们通常在web.config中关闭会话
<sessionState mode="Off" />
Run Code Online (Sandbox Code Playgroud)
但是,现在当我使用此设置测试ASP.NET MVC应用程序时,它会SessionStateTempDataProvider在mvc框架内的类中抛出错误,它要求我打开会话状态,我做了并且它有效.查看它使用会话的来源:
// line 20 in SessionStateTempDataProvider.cs
Dictionary<string, object> tempDataDictionary =
httpContext.Session[TempDataSessionStateKey] as Dictionary<string, object>;
Run Code Online (Sandbox Code Playgroud)
那么,为什么他们会在这里使用会话?我错过了什么?
================================================== ======
编辑对不起这篇文章不是故意讨论会话与缓存,而是在ASP.NET MVC的上下文中,我只是想知道为什么会话在这里使用.在这篇博文中,Scott Watermasysk也提到关闭会话是一个很好的做法,所以我只是想知道为什么我必须从这里开启使用MVC.
我在哪里可以找到有关如何使其正常工作的教程?
我试图在我的MVC3应用程序的App_code目录中使用@helper,到目前为止,当我尝试在其他剃刀页面中使用它们时,它们无法找到.
如何在整数上使用ToString方法来显示2-char
int i = 1; i.ToString() -> "01" instead of "1"
谢谢.
之前我问过这个问题如何正确单元测试我的DAL?,有一件事对我来说没有答案是,如果真的测试我的DAL是有一个测试数据库,那么模拟与测试数据库的作用是什么?
另外,另一个人建议"在单元测试结束时使用事务和回滚,因此db是干净的",测试db就是.你们怎么看待这个测试+测试DB +事务回滚(所以db不是真正编写的)测试DAL的方法?
为了完整,我的DAL是使用Entity Framework构建的,DB中没有存储过程.由于EF是如此新颖,我真的需要测试DAL以确保它们正常工作.
我有这个网址
http://example.com/api/record/getall?startdate=1994-11-05T17:15:30Z
和这个webapi端点
[ActionName("GetAll")]
public object GetAll(DateTime startDate)
{
...
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是startDate收到反序列化的字符串作为本地时间," 11/5/1994 9:15:30 AM "而不是停留在UTC时间,这就是我想要的" 11/5/1994 5:15:下午30点 ".
我正在使用VS2012 update2,最新的Json.net nuget包.但是,如果我在一个单独的控制台应用程序中使用json.net进行测试,则相同的字符串" 1994-11-05T17:15:30Z "能够正确地反序列化为" 11/5/1994 5:15:30 PM ".
谁知道这里有什么问题?
在Asp.net MVC中,网址结构如下
http://example.com/ {controller}/{action}/{id}
对于每个"控制器",比如http://example.com/blog,都有一个BlogController.
但是我的{controller}部分的url不是预先决定的,但它是在运行时动态确定的,我如何创建一个"动态控制器",将任何东西映射到同一个控制器,然后根据该值确定什么去做?
与{action}相同,如果我的网址的{action}部分也是动态的,有没有办法对此方案进行编程?
c# ×3
asp.net ×1
asp.net-mvc ×1
caching ×1
constructor ×1
json.net ×1
linq ×1
memcached ×1
mocking ×1
razor ×1
sql-server ×1
tostring ×1
unit-testing ×1
utc ×1
wcf ×1