我有几个我为我的web项目创建的类,我将它们存储在App_Code文件夹中.我不想将所有类存储在顶层(没有命名空间),而是希望将它们组织到命名空间中.到目前为止,这似乎不可能,因为当我使用"使用XXXX"时 命名空间语句它仍然无法在我的代码后面的文件中找到合适的类.我可能做错了什么?
编辑:
所以我举个例子
namespace foo
{
public class bar
{
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的代码后面的default.aspx页面我有
.
.
.
using foo
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
bar NewBar = new bar();
}
}
Run Code Online (Sandbox Code Playgroud)
以上这些对我不起作用我必须使用
foo.bar NewBar = new foo.bar();
Run Code Online (Sandbox Code Playgroud)
有谁知道我做错了什么?
编辑:好的,所以我安装了Visual Studio 2005 SP 1并尝试将其转换为Web应用程序而不是网站.仍然没有运气.
使用Java和Java框架当我遇到抽象工厂模式时,我已经开始颤抖了.在我看来,这是最滥用的设计模式.并非所有框架都滥用它,但有很多框架滥用它.它不适合所有模型,几乎100%的时间你都会做同样的事情为什么抽象它?
您认为哪种设计模式是最滥用的设计模式?一个开发人员使用它但它不能很好地适应问题的地方.一个金锤子和一切看起来像钉子的情况.那么,当你在野外遇到它时,哪种设计模式会让你不寒而栗?
编辑:想到了Singleton.但是在最过度使用的问题上出现了这种情况.我要求最受虐待的人.(或者使用不当).
我来自Java背景.我想在.Net和C#中更多地了解并发性.是否有类似Java的并发工具包?
我只是在思考它,因为.Net已经引入了属性,在某种情况下,您希望将代码保留为返回值而不是readonly属性的方法.
我使用Java(虽然我认为套接字选项是在大多数语言中实现)来实现客户端和服务器.服务器将数据发送到客户端以进行客户端确认的处理.在另一个端口上,客户端然后将处理结果发送回服务器.说到诸如此类的选项
我们注意到客户端和服务器之间的连接偶尔会中断.发送或接收将超时.发生这种情况时,将终止套接字并打开一个新套接字继续.
根据上述场景设置的最佳选项是什么?我们可以从我们这边做什么(以编程方式或选项方式)来尝试最小化连接被丢弃的次数.我们使用普通的TCP/IP.
更新:对此的赏金很快就结束了.我还没有得到满意的答案,所以它仍然是开放的.我想每个人都错过了这个任务的重点.关于连续聊天的套接字的上述选项的最佳实践是什么?我已经有一个ping数据包,如果没有工作要做(几乎没有情况),正常的消息发送没有内部元素,所以总是处理.
我们正在使用一种应用协议,该协议在前4个字节中指定消息的长度指示符。Socket.Receive将在该时间或块返回与协议栈中一样多的数据,直到有可用数据为止。这就是为什么我们必须不断从套接字读取数据的原因,直到我们在长度指示符中收到字节数为止。如果另一侧关闭了连接,则Socket.Receive将返回0。我都明白
是否必须读取最小数量的字节?我问的原因是从文档中看来,当socket.Receive可以返回时,整个长度指示符(4个字节)似乎完全不可用。然后,我们将不得不继续尝试。最小化我们调用socket.receive的次数会更有效,因为它必须将内容复制进出缓冲区。那么,一次获取一个字节以获得长度指示器是否更安全?是否可以安全地假设4个字节将始终可用,还是应该继续尝试使用偏移量变量获取4个字节?
我认为可能存在某种默认最低级别的原因是,我遇到了一个名为ReceiveLowWater变量的变量,可以在套接字选项中设置该变量。但这似乎仅适用于BSD。MSDN请参见SO_RCVLOWAT。
并不是那么重要,但是我正在尝试编写单元测试。我已经在接口后面包装了一个标准的.Net套接字。
我试图让标准示例"echo"客户端/服务器应用程序尽快运行,我确信网络是一个限制因素.我有一个1千兆网卡,当我使用资源监视器时,我只从客户端获得7兆位.
我理解套接字,消息帧和长度指示器的基础知识,接收长度指示器指示的所有字节.保持活跃包,半开连接等.
我开始使用库存标准套接字操作,然后切换到使用异步.(我没有改变发送到异步因为有人[谁似乎懂行的说,它不应该有任何影响])我有相同的表现,我只能认为,所有材料都假设我一些其他的工作,可以在同一个线程上完成.但是在我的快速测试中,我专门用了1个线程来循环发送,另一个完全不同的线程接收.
我已经尝试了所有的东西,并且完全迷失了我可以获得更多性能的地方.我使用了IPerf并报告了每秒1千兆位的后退速度,而资源监视器也显示出要攫取带宽.
即使有人可以指出我更完整的例子.我遇到的大多数都是微不足道的或不完整的.
这是一般代码.
class Program
{
private static Socket sock;
private static BlockingCollection<string> queue;
private static int bytesReceived;
private static byte[] dataBuffer;
private static readonly byte[] lengthBuffer = new byte[4];
private static byte[] PrependLengthIndicator(byte[] data)
{
return BitConverter.GetBytes(data.Length).Concat(data).ToArray();
}
private static void Receive()
{
if (dataBuffer == null)
{
sock.BeginReceive(lengthBuffer, 0, 4, SocketFlags.None, ReceiveCallback, null);
}
else
{
sock.BeginReceive(dataBuffer, 0, bytesReceived, SocketFlags.None, ReceiveCallback, null);
}
}
private static void ReceiveCallback(IAsyncResult ar)
{
bytesReceived += sock.EndReceive(ar);
if (dataBuffer …Run Code Online (Sandbox Code Playgroud) 我们的系统中有一个聚合根,并且在集合中有子实体.问题是容器需要在事务的基础上非常频繁地更新,并且子实体不需要更新,它们实际上几乎不会改变,它们在性质上更像是配置.
我的第一反应是将它们分成两个不同的聚合根,因为我们的应用要求.但是我被提醒了级联删除规则,如果我们删除那个,则删除应该级联,所以它们的生命周期是链接的.
当我们发现存在缓存问题时,我们偶然发现了这个问题.子系统实体(配置)的更改未在运行时在系统中反映,因为父级不知道这些更改(我们将它们作为一个聚合根,但有人为其子级创建了一个存储库).
以下示例来自MSDN。
public class ThreadSafe
{
// Field totalValue contains a running total that can be updated
// by multiple threads. It must be protected from unsynchronized
// access.
private float totalValue = 0.0F;
// The Total property returns the running total.
public float Total { get { return totalValue; }}
// AddToTotal safely adds a value to the running total.
public float AddToTotal(float addend)
{
float initialValue, computedValue;
do
{
// Save the current running total in a …Run Code Online (Sandbox Code Playgroud) 我有很奇怪的用户要求.我试图向他们解释有更好的方法来支持他们的业务流程,他们不想听到它.我很想走开,但我首先想看看是否还有另一种方式.
有没有办法可以锁定整个数据库而不是行锁或表锁.我知道我可以将数据库置于单用户模式,但这意味着一次只能有一个人使用它.我希望很多人能够一次阅读但只有一个人能够一次写入.
他们正试图做一些非常奇怪的数据迁移.
我似乎无法在类视图选项卡中找到我的任何代码.我可以看到我添加的其他类但没有文件背后的代码.是否有一个原因?我错过了一个设置或什么?试图一直浏览代码是非常恼人的.
我可以看到所有其他类只是没有我的代码隐藏文件.
我喜欢组织我的Java文件,并想知道是否有一种标准的方法.例如:
public class Example
{
private int exampleInt;
private String exampleString;
/*------------------------------------------------------------*/
/* I N N E R C L A S S E S */
/*------------------------------------------------------------*/
private someInnerClass
{
someInnerClass()
{
}
}
/*------------------------------------------------------------*/
/**
* This method returns the example int.
*/
public int getExampleInt() {
return exampleInt;
}
}
Run Code Online (Sandbox Code Playgroud)
我没有什么可以称之为我有某种评论的部分/ -------------------------------- --------------------------------- /这种事情有什么样的惯例吗?或者这是我应该做的事情,因为大多数IDE会在某种大纲视图中很好地展示你的一切?
.net ×4
c# ×3
sockets ×3
asp.net ×2
java ×2
class ×1
coding-style ×1
concurrency ×1
database ×1
editor ×1
ide ×1
lock-free ×1
locking ×1
performance ×1
sql-server ×1
volatile ×1