小编Al.*_*Al.的帖子

IE中"启用本机XMLHTTP支持"选项的目的是什么?

我们的网站使用AJAX调用并用于XMLHTTPRequest实现.当客户端在一天中使用单个IE实例并在该IE中使用单独导航和重新编译页面时,我们最终会出现内存不足异常并被迫关闭IE.

通过启用Enable native XMLHTTP supportIE的Advnaced选项卡中的选项修复了该问题.由于我们优先于ActiveXObject上的原生XMLHTTP对象,因此可能由于使用ActiveXObject而导致异常.但仍然不确定可能是什么根本原因或是否还有其他更好的方法来解决问题.我们使用IE8.我们从未在其他浏览器(Firefox和Chrome)中遇到任何此类问题.谢谢

javascript ajax internet-explorer memory-leaks xmlhttprequest

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

当我们有不同的回报类型时实现策略模式

我有 SaveManager 抽象类和具体类 TVSaveManager、DataSaveManager 和 VoiceSaveManager 实现 SaveManager 抽象类。

List<SaveManager> lstPrdSaveManager;

        public SaveResponseModel SaveProducts(SaveProductsRequest objSaveProductsRequest)
        {
            SaveResponseModel saveResponseModel = new SaveResponseModel();

            lstPrdSaveManager = SaveManagerFactory.GetSaveManagers(objSaveProductsRequest, saveResponseModel);

            lstPrdSaveManager.ForEach(saveManager =>
                {
                    saveResponseModel = saveManager.MapAndSaveProduct();
                });


            return saveResponseModel;
        }
Run Code Online (Sandbox Code Playgroud)

工厂类将决定创建哪个管理器并向我们发送列表。我将循环遍历列表并调用每个具体类都将遵守的公共接口“MapAndSaveProduct”。我想更多或者更像是一种策略模式。

但问题是所有具体的 savemanage 的 MapAndSaveProduct 方法的返回类型都是不同的。TvSaveManager 的 TVResponse 和 DataSaveManager 的 DataResponse 等等。因此,我创建了 SaveResponseModel 类来组合所有返回类型(我将 SaveResponseModel 传递给工厂,以便它将传递给所有具体的 savemanager 类的构造函数。单个类将设置所需的属性。例如 TvSaveManager -> saveResponseModel.TvResponse)。我得到了想要的结果,并且代码看起来很干净。

问题是,1)当我们有不同的类型时,使用这种模式是否正确?2)如果具体类有不同的类型,我们不应该使用策略模式吗?3)在这种情况下我应该采用不同的设计模式吗?如果是的话是哪一个?

c# oop wcf ooad design-patterns

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

是否可以为每个客户端请求创建线程?

码:

class Controller
{
    Some Action Method()
    {
        ...
        ...
        new Thread(() =>
        {
            //WCF cal- wil execute for around 10 secs.
            var result = service.SubmitAndCreateApp(params);
            sessionModel.IsAppCreated = result; 
        }).Start();

        return jsonresult;
        }
}
Run Code Online (Sandbox Code Playgroud)

由于我的WCF调用花费了太多时间,我不想使用线程池并让它变得饥饿.

这里显而易见的是,正在为每个客户端请求创建线程.如何在.Net 4.0(VS 2010)中优化此方法或任何其他替代方法来实现此目的?

.net c# asp.net-mvc wcf multithreading

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

location.href和window.location.href之间的性能差异

我已经读过location.href比window.location.href快.但是内部的location.href被读作window.location.href对吗?那么它将如何提高显着性能呢?

javascript

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

扩展方法问题

码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace LambdaExtensionEx
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] myStrngs = new string[] { "Super","Simple","Okay"};
            IEnumerable<string> criteraStrngs = myStrngs.WhereSearch<string>(delegate(string s)
            {
                return s.StartsWith("s");
            });

            string s1 = "dotnet";
            int count = s1.GetCount();

            Console.ReadLine();
        }
    }

    public static class MyExtension
    {
        public delegate bool Criteria<T>(T Value);

        public static IEnumerable<T> WhereSearch<T>(this IEnumerable<T> values, Criteria<T> critera)
        {
            foreach (T value in values)
                if (critera(value))
                    yield return value;
        }

        public …
Run Code Online (Sandbox Code Playgroud)

.net c# c#-4.0

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