小编Bob*_*and的帖子

无论我做什么,WCF服务只处理10个并发调用

我已经意识到已经有很多与此有关的问题,但无论我尝试什么,我的问题似乎都有所不同,使任何其他解决方案无法修复它.

这是问题所在:我有一个简单的WCF服务.它似乎只允许10个并发呼叫,我需要支持更多.这与我maxConcurrentCalls在配置中设置的内容无关.在这种情况下,为了简化问题,我甚至没有真正的.Net WCF客户端调用它,我只是在几台机器上使用fiddler向服务发出一堆HTTP帖子.它们都是单独工作的,但我看到它们一次只有10个.当#1结束时,#11开始,依此类推.

对于这个例子,我的服务是一个简单的"休眠30秒并返回一个字符串".

下面是我的web.config.你可以看到我已将我maxConcurrentCalls和我的速度提高maxConcurrentSessions到超过默认值.这似乎没有任何影响,因为我一次只能看到10个并发请求.

我错过了哪些部分来支持更多的并发请求呢?

编辑:这是在IIS 7.5中托管.

Web.config文件:

<configuration>
<system.web>
    <compilation debug="true" targetFramework="4.0" />
</system.web>

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <security>
        <authentication>
            <anonymousAuthentication enabled="true" />
        </authentication>
    </security>
</system.webServer>
<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior name="">
                <serviceMetadata httpGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
                <serviceThrottling 
                    maxConcurrentCalls="32" 
                    maxConcurrentInstances="2147483647" 
                    maxConcurrentSessions="20"/>
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)

服务:

using System;
using System.ServiceModel;

namespace WCFTestService
{
    using System.Diagnostics;
    using System.Threading;

    [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single)]
    public class TestService : ITestService …
Run Code Online (Sandbox Code Playgroud)

concurrency wcf

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

实体框架代码首先忽略特定的模式

使用Entity Framework 4.3.1 CodeFirst并且没有运气让迁移或脚本遵守我希望我的表最终进入的模式.

看起来默认行为(我正在看的那个,不管我做什么)是完全从实际运行的SQL中省略模式导致在默认模式中为运行迁移或脚本的用户创建表.

我的DBA告诉我他们无法更改我的默认架构,因为我是AD组的一部分而不是本地用户,因此更改运行的用户的默认架构(通常建议的解决方法)脚本不是一个选项.

我试过使用这样的注释:

[Table("MyTable", Schema = "dbo")]
public class MyTable
{
    public int Id { get; set; }

    public string MyProp1 { get; set; }

    public string MyProp2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

而且我也尝试过使用相同内容的流畅变体:

modelBuilder.Entity<YourType>().ToTable("MyTable", "dbo");
Run Code Online (Sandbox Code Playgroud)

生成的脚本(和迁移)忽略了我尝试指定模式的事实.该脚本如下所示:

CREATE TABLE [MyTable] (
    [Id] [int] NOT NULL IDENTITY,
    [MyProp1] [nvarchar](max),
    [MyProp2] [nvarchar](max),
    CONSTRAINT [PK_MyTable] PRIMARY KEY ([Id])
)
Run Code Online (Sandbox Code Playgroud)

那里应该有一个[dbo]像这样:

CREATE TABLE [dbo].[MyTable] (
    [Id] [int] NOT NULL IDENTITY,
    [MyProp1] [nvarchar](max),
    [MyProp2] [nvarchar](max),
    CONSTRAINT [PK_MyTable] PRIMARY KEY …
Run Code Online (Sandbox Code Playgroud)

entity-framework entity-framework-4 ef-code-first

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