是否有针对Silverlight的log4net版本?
如果不这样,有人可以建议在Silverlight中使用替代日志框架吗?
我正在构建一个DLL类库 - 我希望尽可能多的人使用它.我应该使用哪个版本的.NET Framework和哪个C#版本?是否可以为不同版本生成向后兼容的DLL或不同的DLL?或者Windows是否自动更新.NET框架,所以我应该使用最新版本?任何指导赞赏!
我试图在C#中模拟出System.net.Sockets.Socket类 - 我尝试使用NUnit模拟但它不能模拟具体的类.我也尝试过使用Rhino Mocks,但它似乎使用了该类的真实版本,因为它在调用Send(byte [])时抛出了SocketException.有没有人使用任何模拟框架成功创建和使用Socket模拟?
我是.NET的新手,无法理解大会的概念 - 什么是大会?当人们说"复制集会......"时,人们的意思是什么?AssemblyInfo.cs的目的是什么?
在C#中将字符串转换为byte []数组的最快方法是什么?我通过套接字发送大量的字符串数据,需要优化每个操作.目前我在使用以下命令发送之前将字符串转换为byte []数组:
private static readonly Encoding encoding = new ASCIIEncoding();
//...
byte[] bytes = encoding.GetBytes(someString);
socket.Send(bytes);
//...
Run Code Online (Sandbox Code Playgroud) 流媒体是一个可行的选择?根据我的选择,服务器端会有性能差异吗?这个案子比另一个好吗?
我正在使用运行在服务器端的Tomcat的GWT应用程序.为了了解我的需求,想象一下同时更新几种股票的股票价格.
在C#中,Java的默认(包)访问权限相当于什么?有吗?反正是否限制对特定命名空间的访问?
问题:
我试图限制对某些方法的访问仅限于我的NUnit测试 - 在JUnit中我会通过使方法包访问并在同一个包中但在src/test/java而不是src/main/java下进行测试来实现这一点.如何在C#中实现类似的功能?
注意:我无法制作方法,internal因为我的测试是在一个单独的程序集中 - 就像NUnit惯例一样 - 或者是它?
我在客户端和编写C#的服务器之间一次性发送大量数据.当我在本地计算机上运行客户端和服务器时它工作正常,但是当我将服务器放在互联网上的远程计算机上时,它似乎丢弃了数据.
我使用socket.Send()方法发送20000个字符串,并使用一个执行socket.Receive()的循环接收它们.每个字符串由唯一字符分隔,我用它来计算收到的数字(如果你愿意,这是协议).该协议已经过验证,即使使用碎片消息,每个字符串也会被正确计算.在我的本地机器上,我得到全部20000,通过互联网我得到17000-20000之间的任何东西.远程计算机的连接速度似乎更慢.为了增加混乱,打开Wireshark似乎减少了丢弃的消息数量.
首先,是什么原因造成的?这是TCP/IP问题还是我的代码有问题?
其次,我怎么能绕过这个?接收所有20000个字符串至关重要.
套接字代码:
private static readonly Encoding encoding = new ASCIIEncoding();
///...
while (socket.Connected)
{
byte[] recvBuffer = new byte[1024];
int bytesRead = 0;
try
{
bytesRead = socket.Receive(recvBuffer);
}
catch (SocketException e)
{
if (! socket.Connected)
{
return;
}
}
string input = encoding.GetString(recvBuffer, 0, bytesRead);
CountStringsIn(input);
}
Run Code Online (Sandbox Code Playgroud)
套接字发送代码:
private static readonly Encoding encoding = new ASCIIEncoding();
//...
socket.Send(encoding.GetBytes(string));
Run Code Online (Sandbox Code Playgroud) 我正在构建一个.NET DLL类库,它依赖于其他库,例如log4net.dll - 在打包我的DLL时,我应该把这些DLL放在哪里?有没有办法自动将它们包含在一个超级DLL中?我应该只将所有DLL发送到一个bin文件夹中吗?
Socket上Connected属性的MSDN文档说明如下:
Connected属性的值反映了最近操作时的连接状态.如果需要确定连接的当前状态,请进行非阻塞,零字节发送调用.如果调用成功返回或抛出WAEWOULDBLOCK错误代码(10035),则套接字仍然连接; 否则,套接字不再连接.
我需要确定连接的当前状态 - 如何进行非阻塞,零字节发送调用?
c# ×8
.net ×4
dll ×2
nunit ×2
sockets ×2
ascii ×1
build ×1
byte ×1
comet ×1
gwt ×1
java ×1
log4net ×1
logging ×1
long-polling ×1
mocking ×1
nunit-mocks ×1
packaging ×1
performance ×1
rhino-mocks ×1
silverlight ×1
streaming ×1
string ×1
tcp ×1
unit-testing ×1