我正在尝试进行选择查询,我正在尝试更改值.
select * from config where category = 'basic'
Run Code Online (Sandbox Code Playgroud)
例如,我希望输出显示'general'而不是'basic'.但我不想将所有'基本'价值更新为'一般'
有没有办法做到这一点?
有人告诉我,Hashtable在.NET使用中重复以减少/避免碰撞.
IE浏览器."Rehasing的工作原理如下:假设我们有一组散列不同的函数,H1 ... Hn,并且当从散列表中插入或检索项目时,最初使用H1散列函数.如果这导致碰撞,则尝试使用H2,然后再尝试Hn,以避免在Hashtable中发生碰撞."
假设:我们有一个哈希表,其中n(其中n <Infinity)元素的渐近时间复杂度为o(1); 我们(CLR)在应用一些散列函数(Hn-1散列函数,其中n> 1)时实现了这一点.
问题:当我们寻找(检索)任何元素时(如果使用了不同的散列函数),有人可以解释一下CLR map如何键入哈希码?CLR如何跟踪(如果是)任何活动对象(哈希表)的哈希函数?
提前致谢
我正在(.NET 4.5为Windows 8 Metro应用程序的新WinRT 框架中构建一个IRC客户端.
但是,我有一些问题.我已经发现我需要使用a StreamSocket来读取TCP数据,但我可能做错了.
我相信这是因为我没有收到任何数据.
下面你看我的代码.我无法在网上找到任何有关此问题的代码示例.
class IRCClient
{
private StreamSocket tcpClient;
public string Server = "holmes.freenode.net";
public int Port = 6665;
public IRCClient()
{
tcpClient = new StreamSocket();
}
public async void Connect()
{
await tcpClient.ConnectAsync(
new Windows.Networking.HostName(Server),
Port.ToString(),
SocketProtectionLevel.PlainSocket);
DataReader reader = new DataReader(tcpClient.InputStream);
string data = reader.ReadString(reader.UnconsumedBufferLength);
MessageDialog dialog = new MessageDialog(data);
}
}
Run Code Online (Sandbox Code Playgroud)
该代码后面的数据始终为空字符串.此外,UnconsumedBufferLength始终返回0.
怎么会?
我们看到在IIS 7服务器上运行的ASP.NET上下文中的以下代码块中发生此异常.
1) Exception Information
*********************************************
Exception Type: System.Exception
Message: Exception Caught in Application_Error event
Error in: InitializationStatus.aspx
Error Message:An item with the same key has already been added.
Stack Trace: at
System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at CredentialsSession.GetXmlSerializer(Type serializerType)
Run Code Online (Sandbox Code Playgroud)
这是发生异常的代码:
[Serializable()]
public class CredentialsSession
{
private static Dictionary<string, System.Xml.Serialization.XmlSerializer> localSerializers = new Dictionary<string, XmlSerializer>();
private System.Xml.Serialization.XmlSerializer GetXmlSerializer(Type serializerType)
{
string sessionObjectName = serializerType.ToString() + ".Serializer";
if (Monitor.TryEnter(this))
{
try
{
if (!localSerializers.ContainsKey(sessionObjectName))
{
localSerializers.Add(sessionObjectName, CreateSerializer(serializerType));
}
}
finally …Run Code Online (Sandbox Code Playgroud) 我有这个代码从excel文件填充数据表:
for (int rowIndex = cells.FirstRowIndex; rowIndex <= cells.LastRowIndex; rowIndex++)
{
var values = new List<string>();
foreach (var cell in cells.GetRow(rowIndex))
{
values.Add(cell.Value.StringValue);
}
dataTable.LoadDataRow(values.ToArray(), true);
}
Run Code Online (Sandbox Code Playgroud)
当cell与我在表中设置的数据类型不同时,我有问题.
如何跳过错误数据类型的单元格?
我也知道这一点,但我不能在我的情况下使它工作:
foreach //...
{
if //if datatype is not right
{
continue;
}
}
Run Code Online (Sandbox Code Playgroud) WCF跟踪日志显示许多"The server has hit a PollingDuplex throttle, MaxSessionsPerAddress, and cannot accept another session from this client. An http error was returned"错误.
找不到有关MaxSessionsPerAddress设置的足够详细信息,只是发现这篇帖子MaxSessionsPerAddress总是说是10不能改变的.
只是在想可能是这个问题涉及到我的客户端代理,在这样的问题,一些超时结果实现它们共同容错逻辑:在通道故障WCF客户端代理的情况下关闭一个通道(关闭(),然后Aboort()在尝试/捕获),然后尝试重新连接每5秒,N次重试.也许客户端甚至在10次重试之后仍然无法连接在服务上创建了10个会话,因此所有下一次重试都被拒绝了?
一般信息:
WCF客户端:
WCF服务器:
任何帮助非常感谢!
我正在尝试.NET 4使用MSBuildWeb Deploy 构建和部署项目,并且TeamCity我在本地开发机器上运行TeamCity实例时工作正常(最终),但是当我尝试使用相同设置设置新的TeamCity实例时得到以下错误:
\Microsoft.Common.targets(2249, 9): error MSB3086: Task could not find "sgen.exe"
using the SdkToolsPath
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\" or the
registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A".
Make sure the SdkToolsPath is set and the tool exists in the correct processor
specific location under the SdkToolsPath and that the Microsoft Windows SDK
is installed
Run Code Online (Sandbox Code Playgroud)
我正在运行Windows Server 2008,并安装了.NET 4,包括(我相信)MSBuild 4.我也安装了Windows SDK 7.1,因为其他线程建议这可能是问题,但仍然没有运气.任何想法或建议将不胜感激.
谢谢
.net msbuild teamcity windows-server-2008 microsoft-web-deploy
我们的代码库中的几个方法使用'MaybeObject',可以在结果可能已知时传递给函数,或者可能依赖于尚未执行的外部Web服务调用.例如,下面的属性可以具有指定的已知值,或者如果未指定并在异步调用完成后调用它将返回异步调用的结果.
private string _internalString;
public string stringProp
{
get
{
if (!string.IsNullOrEmpty(_internalString))
return _internalString;
return resultOfAsyncCallFromSomewhereElse;
}
set { _internalString = value; }
}
Run Code Online (Sandbox Code Playgroud)
显然,尝试在异步调用完成之前引用该属性会导致空引用异常,因此我们还有一个标志来检查该值是否可用.
问题是,在下面的代码中会创建lambda尝试和评估stringProp(可能还没有填充),或者是否会推迟评估直到调用结果Action(在检查异步操作完成后)?
public Action ExampleMethod(MaybeObject maybe)
{
return () => doSomethingWithString(maybe.stringProp);
}
Run Code Online (Sandbox Code Playgroud) 我想知道重构代码的最佳实践是什么样的:
应该在哪里设置退出标准,以及最佳做法是什么
private static bool Foo()
{
bool result = false;
if (DoMehod1())
{
if (DoMehod2())
{
if (DoMethod3())
{
result = true;
}
else
{
Console.WriteLine("DoMethod3 Failed");
}
}
else
{
Console.WriteLine("DoMethod2 Failed");
}
}
else
{
Console.WriteLine("DoMethod1 Failed");
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
谢谢
如何使用PLINQ在C#中实现MapReduce?
假设您有7-8个WebServices来收集数据,并且每次接收(异步方式)您必须将这些数据放入数据库的某些表中,在我的例子中它是SQL Server 2008.例如,您从每个数据库获取的数据Web服务是:
<employees>
<employee>
<name>Ramiz</name>
</employee>
<employee>
<name>Aamir</name>
</employee>
<employee>
<name>Zubair</name>
</employee>
</employees>
Run Code Online (Sandbox Code Playgroud)
并且,在每次收到响应时,这些数据都会进入表名 - 员工:
Employee
===
EmployeeID (PK)
EmployeeName
Run Code Online (Sandbox Code Playgroud)
一旦数据进入表格,它必须返回json到客户端,即ASP.NET(MVC 3)应用程序使用客户端JavaScript(ajax)进行此调用.
假设,WebServiceEmployee1已返回数据,其他6个正在队列中(仍在尝试获取数据).然后,它应该将结果集注册到表而不是等待其他6并将插入的员工的数据返回到json中的客户端.而且,保持联系并做其他人同样的方式.
请参阅我的工具箱,我有ASP.NET MVC 3(Razor),SQL SERVER 2008 R2,jQuery.
谢谢.