小编Tod*_*odd的帖子

来自实体框架的SqlException - 不允许新事务,因为会话中还有其他线程在运行

我目前收到此错误:

System.Data.SqlClient.SqlException:不允许新事务,因为会话中还有其他线程在运行.

在运行此代码时:

public class ProductManager : IProductManager
{
    #region Declare Models
    private RivWorks.Model.Negotiation.RIV_Entities _dbRiv = RivWorks.Model.Stores.RivEntities(AppSettings.RivWorkEntities_connString);
    private RivWorks.Model.NegotiationAutos.RivFeedsEntities _dbFeed = RivWorks.Model.Stores.FeedEntities(AppSettings.FeedAutosEntities_connString);
    #endregion

    public IProduct GetProductById(Guid productId)
    {
        // Do a quick sync of the feeds...
        SyncFeeds();
        ...
        // get a product...
        ...
        return product;
    }

    private void SyncFeeds()
    {
        bool found = false;
        string feedSource = "AUTO";
        switch (feedSource) // companyFeedDetail.FeedSourceTable.ToUpper())
        {
            case "AUTO":
                var clientList = from a in _dbFeed.Client.Include("Auto") select a;
                foreach (RivWorks.Model.NegotiationAutos.Client client in clientList)
                { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework transactions inversion-of-control

571
推荐指数
10
解决办法
19万
查看次数

重置实体框架迁移

我已经搞砸了我的迁移,我用于IgnoreChanges初始迁移,但现在我想要删除所有迁移,并开始使用所有逻辑进行初始迁移.

当我删除文件夹中的迁移并尝试Add-Migration它并不生成一个完整的文件(它是空的 - 因为我上次没有做任何更改,但现在已删除,迁移).

是否有任何Disable-Migrations命令,所以我可以重新运行Enable-Migrations

entity-framework database-migration ef-migrations

287
推荐指数
8
解决办法
18万
查看次数

Web服务器可以处理多少个套接字连接?

假如我要获得共享,虚拟或专用托管,我在某处读取服务器/机器一次只能处理64,000个TCP连接,这是真的吗?无论带宽如何,任何类型的托管处理有多少?我假设HTTP通过TCP工作.

这意味着只有64,000个用户可以连接到该网站,如果我想提供更多服务,我必须转移到网络农场吗?

hosting network-programming tcp tcplistener http

101
推荐指数
5
解决办法
10万
查看次数

EF返回旧值

我在我的桌面应用程序中使用EF6 + WPF和MVVM设计模式.我也使用Autofac作为DI容器.

我读了很多关于EF上下文生命周期管理的内容,我决定只为单一视图模型实例提供一个EF上下文实例.我发现了一些关于这种方法的有趣文章,所以我认为这只是管理EF上下文的好方法.我使用Autofac来管理EF生命周期,因此每次创建新的视图模型时,都只会创建一个新的EF上下文.

但当然,我遇到了一个问题.我的大多数EF查询都运行良好,但以下查询始终返回旧(缓存)值.每次按下"执行"按钮时都会调用此查询,因此每个视图/视图模型有很多执行

this.context.someTable.Where(arg => arg.value == "value").Single();
Run Code Online (Sandbox Code Playgroud)

我知道我总是可以使用以下代码重新加载实体

this.context.Entry(entity).Reload();
Run Code Online (Sandbox Code Playgroud)

但对我来说这不是一个好的解决方案.我也知道,如果我处理当前上下文并在下一个查询之前重新创建,我将始终接收当前值.但是这种方法与每种视图模型方法的一个上下文冲突.

我应该修复/更改什么以避免EF缓存问题并且仍然具有良好的性能.

c# entity-framework mvvm

6
推荐指数
2
解决办法
5418
查看次数

在Action中使用ForEachAsync并等待时不等待

以下应返回"C",但返回"B"

using System.Data.Entity;
//...
var state = "A";
var qry = (from f in db.myTable select f);
await qry.ForEachAsync(async (myRecord) => {
   await DoStuffAsync(myRecord);
   state = "B";
});
state = "C";
return state;
Run Code Online (Sandbox Code Playgroud)

它不等待DoStuffAsync完成,state="C"运行然后state="B"执行(因为它内部仍在等待).

.net c# asynchronous entity-framework async-await

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

如何使用Google云端硬盘API检索垃圾文件的最新列表

我最近删除了Google云端硬盘中的许多文件,这些文件已移至回收站。我想将其永久删除,但是“废纸Date”中的文件无法按“删除日期”排序,而只能按“修改日期”排序(删除后不会更新)。

因此,我想利用Google Drive API枚举垃圾桶并确定垃圾桶的日期,以查找随后要永久删除的文件集。

据我所知,有一个文件属性指示它是否已被破坏,而不是日期。

我尝试搜索此答案,但如果可能的话,很难找到。有人熟悉API的这一方面吗?

有没有比我尝试的更好的策略?

google-drive-api

3
推荐指数
1
解决办法
1799
查看次数

如何使用node.js和cloudflare工作人员在现有HTML响应中注入javascript

我有一个指向 GitBook 的虚荣 URL。GitBook 不支持插入任意 JavaScript 片段。目前 GitBook 只有 4 个“集成”。

我可以通过我自己的 VM 服务器来完成此操作,但我有 CloudFlare,并且我想尝试工作人员。(Javascript 在 CDN 边缘运行)。

CloudFlare工作环境使标头注入变得非常容易,但没有明显的方法来做到这一点。

javascript v8 node.js cloudflare-workers

3
推荐指数
1
解决办法
3367
查看次数

如何在.NET上创建软件路由器?

我怎样才能创建一个透明地转发连接到新IP地址/端口的程序?

例如,如果客户端发起TCP连接的IP地址为111.111.111.111,TCP端口为111,则可以将程序配置为转发该数据包和IP /端口222.222.222.222:222.

透明地,我的意思是:

  • 最低的性能损失
  • 无需调整客户端或最终目标软件/配置(就像透明Web代理不需要在浏览器中设置显式设置)
  • 与OS网络层交易尽可能低

我想用.NET,C#和Windows来做这件事.但我不想创建一个简单的TCP代理,因为各种各样但未指明的原因.如果无法做到这一点,那么在没有可能的解决方案的情况下,这可能是一个可接受的答案.

.net c# sockets windows ports

2
推荐指数
1
解决办法
3886
查看次数

使用PdfWriter和iTextSharp以及SetFontAndSize函数的斜体文本

我正在使用iTextSharp创建一些pdf文件.这些文档有几个页面,除了最后一个页面之外,我们需要有一个用斜体字体书写的文本.

这是我的代码使用PdfTemplate,它的工作原理,但我无法设置字符串Italic:

public override void OnCloseDocument(PdfWriter writer, Document document)
{
    base.OnCloseDocument(writer, document);

    template.BeginText();
    template.SetFontAndSize(arial, 11);
    template.SetTextMatrix(0, 0);
    template.ShowText("" + (writer.PageNumber - 1));
    template.EndText();

    int index = 0;
    foreach (PdfTemplate temp in templates)
    {
        if ((++index) < (writer.PageNumber-1))
        {
            temp.BeginText();
            temp.SetFontAndSize(arial, 11);
            temp.SetTextRenderingMode(0);
            temp.SetTextMatrix(0, 0);
            temp.ShowText("- Continued -");
            temp.EndText();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

你能不能帮我找到一种方法让我的字符串显示为Italic?

c# pdf itextsharp

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