小编Era*_*lel的帖子

复制数据库的最佳方法(SQL Server 2008)

愚蠢的问题 - 在我想用生产服务器中的实例刷新开发服务器的环境中复制实例的最佳方法是什么?

我已经完成了备份恢复,但是我听说了detach-copy-attach,一个人甚至告诉我他只会复制文件系统之间的数据文件....

这三种(或两种,最后一种听起来有点可疑)接受的方法是什么?

我的理解是第二种方法更快,但由于分离方面的原因需要在源上停机.

此外,在这种情况下(想要在开发服务器上获得精确的生产副本),传输登录等的公认惯例是什么?我应该只备份和恢复用户数据库+ master + msdb吗?

sql-server sql-server-2008

72
推荐指数
6
解决办法
10万
查看次数

如何使用反射获取变量名称?

例如,

static void Main()
{
    var someVar = 3;

    Console.Write(GetVariableName(someVar));
}
Run Code Online (Sandbox Code Playgroud)

该程序的输出应为:

someVar
Run Code Online (Sandbox Code Playgroud)

如何使用反射实现这一目标?

c# reflection

38
推荐指数
1
解决办法
4万
查看次数

{active:"yes"}和{"active":"yes"}有什么区别?

我已经使用FireBug来测试这两种情况,结果看起来非常相似:

>>> var x = {"active": "yes"}
>>> x.active
"yes"
>>> var x = {active: "yes"}
>>> x.active
"yes"
Run Code Online (Sandbox Code Playgroud)

但我很确定这两者之间存在一些差异,甚至可能与性能有关.底线 - 我想知道{active:"yes"}和{"active":"yes"}之间是否存在差异.

javascript json

10
推荐指数
2
解决办法
481
查看次数

使用TPL进行异常处理

使用TPL/Tasks我可以使用内部try/catch语句执行异常处理:

  Task.Factory.StartNew(
    ()=>
      {
        try
        {
          // Do stuff
        }
        catch
        {
          // Handle exception
        }
      });
Run Code Online (Sandbox Code Playgroud)

或使用ContinueWith,如下所示:

Task.Factory.StartNew(
    ()=>
      {
          // Do stuff
      }).ContinueWith(
        task =>
        {
          if(task.Exception != null)
            // Handle exception
        });
Run Code Online (Sandbox Code Playgroud)

更推荐使用哪种方法?每个人的缺点和优点是什么?

c# task-parallel-library

9
推荐指数
1
解决办法
1375
查看次数

如何在BL中处理嵌套的datacontext?

public class TestBL
{
    public static void AddFolder(string folderName)
    {
        using (var ts = new TransactionScope())
        {
            using (var dc = new TestDataContext())
            {
                var folder = new Folder { FolderName = folderName };

                dc.Folders.InsertOnSubmit(folder);
                dc.SubmitChanges();

                AddFile("test1.xyz", folder.Id);
                AddFile("test2.xyz", folder.Id);
                AddFile("test3.xyz", folder.Id);

                dc.SubmitChanges();
            }

            ts.Complete();
        }
    }

    public static void AddFile(string filename, int folderId)
    {
        using (var dc = new TestDataContext())
        {
            dc.Files.InsertOnSubmit(
                new File { Filename = filename, FolderId = folderId });

            dc.SubmitChanges();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是嵌套DataContext(未经测试)的示例.将TransactionScope添加到我们的小实验中时,问题就开始了(如上所示).AddFolder函数中的第一个AddFile会将事务升级为DTC(这一切都很糟糕),因为AddFile初始化了新的DataContext,从而打开了与DB的第二个连接.

  1. 如何使用不会发生DTC使用的嵌套DataContext?
  2. 这一切都是完全错的吗?我应该以不同的方式使用DataContext吗?

c# datacontext nested transactionscope linq-to-sql

7
推荐指数
1
解决办法
1448
查看次数

如何保持WCF网站在线?

我在IIS 7上有一个WCF站点.很少访问该站点导致应用程序卸载.如何一直保持应用程序(WCF)?

iis wcf

7
推荐指数
1
解决办法
2983
查看次数

为什么我不能在单个服务器请求中插入带有外键的记录?

我正在尝试使用外键进行简单的插入,但似乎我需要使用db.SaveChanges()每个记录插入.如何db.SaveChanges()在本程序结束时只使用一个?

public static void Test()
{
    using (var entities = new DBEntities())
    {
        var sale =
            new SalesFeed
            {
                SaleName = "Stuff...",
            };
        entities.AddToSalesFeedSet(sale);

        var phone =
            new CustomerPhone
            {
                CreationDate = DateTime.UtcNow,
                sales_feeds = sale
            };
        entities.AddToCustomerPhoneSet(phone);

        entities.SaveChanges();
    }
}
Run Code Online (Sandbox Code Playgroud)

运行上面的代码后,我得到了这个异常:

System.Data.UpdateException:更新条目时发生错误.有关详细信息,请参阅InnerException.指定的值不是有效常量类型的实例参数名称:value.

编辑:更改了示例代码并添加了返回的异常.

c# entity-framework .net-3.5

7
推荐指数
1
解决办法
2378
查看次数

DataContext何时打开与DB的连接?

我正在使用L2S访问我的MSSQL 2008 Express服务器.我想知道DataContext何时会打开与DB的连接?它打开后会立即关闭连接吗?

例如:

var dc = new TestDB();  // connection opened and closed?

dc.SomeTable.InsertOnSubmit(obj);  // connection opened and closed?

foreach(var obj in dc.SomeTable.AsEnumerable())  // connection opened and closed?
{
    ...  // connection opened and closed?
}

dc.SubmitChanges();     // connection opened and closed?
Run Code Online (Sandbox Code Playgroud)

.net-3.5 sql-server-2008 linq-to-sql

6
推荐指数
1
解决办法
2547
查看次数

Hyper-V机器上的套接字异常

最近,我们的整个QA环境从VMWare迁移到Hyper-V虚拟机.

我们的一个应用程序以每秒20K数据包的速率将UDP数据包发送到多播云.

虽然这在VMWare环境中运行良好,但Hyper-V使应用程序在几分钟的工作后抛出以下异常:

System.Net.Sockets.SocketException (0x80004005): An invalid argument was supplied
   at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
Run Code Online (Sandbox Code Playgroud)

在将套接字的发送缓冲区大小定义为1,000,000字节时,我还设法立即模仿了这个问题.

我该如何解决这个问题?

更新1:一旦发生异常,这是来自事件查看器的日志条目:

Faulting application name: Agent.exe, version: 1.0.12.7366, time stamp: 0x51389f69
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18015, time stamp: 0x50b83c8a
Exception code: 0xe0434352
Fault offset: 0x0000c41f
Faulting process id: 0xaf0
Faulting application start time: 0x01ce1b4ce509dc7a
Faulting application path: C:\Users\DevUser\Desktop\QA\Agent.exe
Faulting module path: C:\Windows\syswow64\KERNELBASE.dll
Report Id: d2b45dce-8740-11e2-86f9-00155d022804
Run Code Online (Sandbox Code Playgroud)

更新2:UDP数据包的大小为100-200字节.

更新3:这是有问题的代码:

    m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
    m_socket.Ttl = 1; …
Run Code Online (Sandbox Code Playgroud)

c# udp hyper-v multicast winsock

6
推荐指数
1
解决办法
638
查看次数

如何验证角度JS一次性绑定性能增益?

我想从我的Angular JS应用程序中删除观察者.为此,我使用::关键字来应用一次性绑定而不是观察者.

当我想使用Angular Batarang或只是简单地验证它时scope.$$watchers(我认为它以相同的方式工作),我发现他们仍然算作观察者.

他们为什么出现在观察者名单上?我错过了什么?

performance angularjs

6
推荐指数
1
解决办法
303
查看次数