小编Joh*_*ers的帖子

ASMX Web服务请求缓慢

我在一个IIS应用程序中运行了一堆.NET Webservices.这些Web服务由另一个IIS应用程序(前端)使用.第一个电话很慢,大概5到10秒.在那之后它只是几毫秒.第一个电话被认为是性能问题.

我们尝试过调用所有这些Web服务的应用程序,但这显然无法解决任何问题.因此,问题不在于默认的应用程序回收.我创建了一个应用程序,它只是多次初始化服务并测量创建一个实例所需的时间.在运行此应用程序之前,我确保启动/回收我的Web服务应用程序,然后运行该应用程序.第一次初始化需要2到4秒,所有其他的只需几毫秒.

另一个想法是我们在前端应用程序中创建一个页面,启动所有的Web服务,并在任何用户进入之前调用此页面.我不认为这是一个优雅的解决方案,我还能尝试什么?

.net web-services asmx

23
推荐指数
3
解决办法
3万
查看次数

如何使用WSDL文件创建WCF代理?

我有一个旧的WSDL文件,我想使用WCF与服务进行通信.

WSDL是从ASMX生成的(我想但我不确定).

与它沟通所需的步骤是什么?

wcf wsdl

23
推荐指数
3
解决办法
6万
查看次数

如何在.net中调用没有wsdl的Web服务

我必须连接到第三方Web服务,该服务不提供wsdl或asmx.该服务的URL只是http://server/service.soap

我已经阅读了有关原始服务调用的这篇文章,但我不确定这是否是我正在寻找的.

此外,我已经要求wsdl文件,但被告知没有(并且不会).

我正在使用带有.net 2.0的C#,并且无法升级到3.5(所以还没有WCF).我认为第三方正在使用java,因为这是他们提供的示例.

提前致谢!

更新浏览网址时获取此响应:

<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>
Cannot find a Body tag in the enveloppe
</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud)

.net c# soap wsdl web-services

23
推荐指数
3
解决办法
4万
查看次数

线程与单线程

总是保证多线程应用程序比单线程应用程序运行得更快吗?

我有两个线程从数据源填充数据但不同的实体(例如:数据库,来自两个不同的表),似乎应用程序的单线程版本比具有两个线程的版本运行得更快.

为什么会这样?当我看一下性能监视器时,两个cpu都非常灵巧?这是由于上下文切换?

驱动CPU并充分利用它的最佳实践是什么?

我希望这不是模棱两可的.

.net c# cpu multithreading

23
推荐指数
2
解决办法
5933
查看次数

C#代理是否是线程安全的?

如果你有一个带有委托成员变量的类实例,并且多个线程调用该委托(假设它指向一个长时间运行的方法),是否存在任何争用问题?

你需要锁定委托还是每个线程调用委托指向的方法是否安全,因为每个线程都有自己的调用堆栈?

c# multithreading delegates thread-safety

23
推荐指数
3
解决办法
2万
查看次数

为什么在Func和Expression <Func>之间lambda表达式参数不明确?

假设我有一个班级:

class MyClass {
    public int MyMethod(Func<int, int> f) { return 0; }
    public int MyMethod(Expression<Func<int, int>> f) { return 1; }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用lambda表达式调用该方法时,我收到一个编译错误,指出调用在两个重载之间是不明确的:

var myClass = new MyClass();
myClass.MyMethod(x => 1 + x); // Error!
Run Code Online (Sandbox Code Playgroud)

当然,使用显式类型调用可以正常工作:

myClass.MyMethod((Func<int, int>)(x => 1 + x)); // OK, returns 0
myClass.MyMethod((Expression<Func<int, int>>)(x => 1 + x)); // OK, returns 1
Run Code Online (Sandbox Code Playgroud)

表达式树包含更多信息(实际代码),我可能希望在可用时使用此信息.但我也希望我的代码能够与代表合作.不幸的是,这种模糊性使得我必须找到另一种方法来区分两个调用,这会混淆一个干净的API.

C#规范没有说明这个具体情况,所以在这个意义上,行为确实符合规范.

但是,有一个论点要求表达式树应该优先于委托.该Compile方法充当从表达式树到委托的显式转换.表达式树包含更多信息,当您编译为委托时,您将丢失该信息.另一方面没有转换.

有没有理由不喜欢表达树?

.net lambda expression-trees

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

静态变量实例和AppDomains,发生了什么?

我有

public static class A
{
   public static string ConnString;
}

[Serializable]
public class Test{
   // Accesing A's field;
   public string ConnString{get{return A.ConnString;}set{A.ConnString=value;}}
}

void Main()
{
   A.ConnString = "InitialString"; // I set A.ConnString in the current domain

   var newDomain = AppDomain.CreateDomain("DomNew");
   Test TObj = newDomain.CreateInstanceAndUnwrap(typeof(Test).Assembly.FullName, typeof(Test).FullName) as Test ;

   TObj.ConnString = "NewDomainString"; // It is supposed to set A.ConnString in the newDomain aka a different instance of A.ConnString

   // Here it is supposed to print two different values
   Console.WriteLine(A.ConnString); …
Run Code Online (Sandbox Code Playgroud)

c# variables static instance appdomain

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

是否返回IEnumerable <>线程安全?

我有一个Visual Studio 2008 C#.NET 3.5项目,我希望有一个线程安全的Foo对象池.

public class FooPool
{
    private object pool_lock_ = new object();
    private Dictionary<int, Foo> foo_pool_ = new Dictionary<int, Foo>();

    // ...

    public void Add(Foo f)
    {
        lock (pool_lock_)
        {
            foo_pool_.Add(SomeFooDescriminator, f);
        }
    }

    public Foo this[string key]
    {
        get { return foo_pool_[key]; }
        set { lock (pool_lock_) { foo_pool_[key] = value; } }
    }

    public IEnumerable<Foo> Foos
    {
        get
        {
            lock (pool_lock_)
            {
                // is this thread-safe?
                return foo_pool_.Select(x => x.Value);
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c# thread-safety .net-3.5

23
推荐指数
3
解决办法
4430
查看次数

计算bool数组中真(或假)元素的数量?

假设我有一个填充了布尔值的数组,我想知道有多少元素是真的.

private bool[] testArray = new bool[10] { true, false, true, true, false, true, true, true, false, false };

int CalculateValues(bool val)
{
    return ???
}
Run Code Online (Sandbox Code Playgroud)

如果val为真,则CalculateValues应返回6,如果val为false,则返回4.

明显的解决方案:

int CalculateValues(bool val)
{
    int count = 0;
    for(int i = 0; i<testArray.Length;i++)
    {
        if(testArray[i] == val)
            count++;
    }
    return count;
}
Run Code Online (Sandbox Code Playgroud)

有"优雅"的解决方案吗?

c# arrays boolean

23
推荐指数
3
解决办法
2万
查看次数

生成脚本 - 仅限数据 - 发现循环依赖性错误

我正在尝试生成数据库中所有数据的脚本,因此我可以将数据移动到另一台服务器上的相同数据库.在SQL Server 2012中,我右键单击源数据库

任务>生成脚本>脚本整个数据库和所有数据库对象>高级>脚本的数据类型:仅限数据

这给了我一个关于Cyclic依赖的错误.如果我将数据类型更改为脚本到架构和数据,它会生成正常的.如何解决此问题仅适用于数据?

操作结果从MyDatabase获取对象列表失败

详细报告:

Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException:脚本编写对象时发生错误.---> Microsoft.SqlServer.Management.Smo.SmoException:找到循环依赖项.在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num,Dictionary 2 dictionary, List1 sortedList,HashSet 1 visited, HashSet1 current)在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num,Dictionary 2 dictionary, List1 sortedList,HashSet 1 visited, HashSet1 current)在Microsoft .SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(的Int32 NUM,字典2 dictionary, List1排序列表,HashSet的1 visited, HashSet1电流)Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(的Int32 NUM,字典2 dictionary, List1排序列表,HashSet的1 visited, HashSet1电流)Microsoft.SqlServer 2 dictionary) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(List.Management.Smo.SmoDependencyOrderer.SortDictionary (Dictionary 1 objectList,Dictionary 2 idDictionary, DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ExecuteQueryUsingTempTable(List1 objectList,List 1 urns 1 list, String query) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ResolveTableOnlyDependencies() at …

ssis sql-server-2012

23
推荐指数
3
解决办法
8243
查看次数