我正在使用mvc-mini-profiler和Glimpse.问题是glimse充斥着探查器输出和glimpse请求.有没有办法忽略所有瞥见的请求?
现在,我可以使用测试/虚拟信用卡在开发服务器上测试信用卡功能.但无法在实时服务器上测试相同的功能.是否有任何虚拟信用卡,我们可以在现场测试相同的信用卡?
在MS的这个例子中,你会注意到在我们从内存流中读取一个字节之后,它会进入一个int,然后必须将其转换为byte.它让我感到奇怪的是,像这样的函数.ReadByte()首先不返回一个字节.MS有这样做的原因吗?
// Read the remaining bytes, byte by byte.
while(count < memStream.Length)
{
byteArray[count++] =
Convert.ToByte(memStream.ReadByte());
}
Run Code Online (Sandbox Code Playgroud)
一个念头发生在我身上.也许这取决于使用情况.也许ReadByte()通常用于检索短长度,这些子句在检索中通过长度变化消耗
int length=ms.ReadByte();
ms.Read(buf,0,lenth);
Run Code Online (Sandbox Code Playgroud)
即你可以使用没有演员阵容的长度.这是一个足够好的理由吗?
我对此非常困惑.到处都写着"链表比数组更快",但是没有人愿意说出为什么.使用普通逻辑我无法理解链表如何更快.在一个数组中,所有单元格彼此相邻,因此只要您知道每个单元格的大小,就可以立即轻松到达一个单元格.例如,如果有一个包含10个整数的列表,并且我想在第四个单元格中获取该值,那么我直接进入数组的开头+24个字节并从那里读取8个字节.
另一方面,如果你有一个链表并且你想要获得第四个元素,那么你必须从列表的开头或结尾开始(取决于它是单个列表还是双列表)并从一个节点开始到另一个,直到找到你想要的东西.
那么heck如何逐步进行比直接进入元素要快?
使用C#,我想比较两个字典是特定的,两个字典具有相同的键但不是相同的值,我找到了一个方法Comparer但我不太确定如何使用它?除了遍历每个键之外还有其他方法吗?
Dictionary
[
{key : value}
]
Dictionary1
[
{key : value2}
]
Run Code Online (Sandbox Code Playgroud) 我确信可以分析Enterprise Library SQL命令,但我无法弄清楚如何包装连接.这就是我想出的:
Database db = DatabaseFactory.CreateDatabase();
DbCommand dbCommand = db.GetStoredProcCommand(PROC);
ProfiledDbCommand cmd = new ProfiledDbCommand(dbCommand, dbCommand.Connection, MvcMiniProfiler.MiniProfiler.Current);
db.AddInParameter(cmd, "foo", DbType.Int64, 0);
DataSet ds = db.ExecuteDataSet(cmd);
Run Code Online (Sandbox Code Playgroud)
这导致以下异常:
无法将类型为"MvcMiniProfiler.Data.ProfiledDbCommand"的对象强制转换为"System.Data.SqlClient.SqlCommand".
我有一些代码有很多重复.问题来自我正在处理嵌套IDisposable类型的事实.今天我有一些看起来像:
public void UpdateFromXml(Guid innerId, XDocument someXml)
{
using (var a = SomeFactory.GetA(_uri))
using (var b = a.GetB(_id))
using (var c = b.GetC(innerId))
{
var cWrapper = new SomeWrapper(c);
cWrapper.Update(someXml);
}
}
public bool GetSomeValueById(Guid innerId)
{
using (var a = SomeFactory.GetA(_uri))
using (var b = a.GetB(_id))
using (var c = b.GetC(innerId))
{
return c.GetSomeValue();
}
}
Run Code Online (Sandbox Code Playgroud)
using对于这些方法中的每一个,整个嵌套块都是相同的(显示了两个,但是大约有十个).唯一不同的是当你到达using块的内层时会发生什么.
我想的一种方法是做一些事情:
public void UpdateFromXml(Guid innerId, XDocument someXml)
{
ActOnC(innerId, c =>
{
var cWrapper = new SomeWrapper(c); …Run Code Online (Sandbox Code Playgroud) 当谈到典型的构造函数依赖注入时,我很难理解看似明显的模式问题/限制.例如,假设我有一个ASP.NET MVC3控制器,它看起来像:
Public Class MyController
Inherits Controller
Private ReadOnly mServiceA As IServiceA
Private ReadOnly mServiceB As IServiceB
Private ReadOnly mServiceC As IServiceC
Public Sub New(serviceA As IServiceA, serviceB As IServiceB, serviceC As IServiceC)
Me.mServiceA = serviceA
Me.mServiceB = serviceB
Me.mServiceC = serviceC
End Sub
Public Function ActionA() As ActionResult
' Do something with Me.mServiceA and Me.mServiceB
End Function
Public Function ActionB() As ActionResult
' Do something with Me.mServiceB and Me.mServiceC
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
我遇到困难的事情是,在任何给定时间,DI容器被要求实例化所有三个依赖项,这个控制器上的操作方法可能只需要一部分依赖项.
似乎假设对象构造是肮脏的,并且没有来自对象构造的副作用或者所有依赖性都被一致地利用.如果物体结构没有吱吱声或有副作用怎么办?例如,如果构建 …
language-agnostic design-patterns dependency-injection asp.net-mvc-3
有没有人知道是否有任何重载允许我在Parallel.For循环中指定步长?c#或VB.Net中的样本会很棒.
谢谢,贡萨洛
c# ×6
.net ×3
arrays ×1
credit-card ×1
date ×1
glimpse ×1
linked-list ×1
memorystream ×1
paypal ×1
performance ×1
refactoring ×1
vb.net ×1