问题列表 - 第30823页

请帮我理解匿名代表?

我从Microsoft下载了VCSharpSample包,并开始阅读Anonymous Delegates.我可以或多或少地理解代码在做什么,但我不明白它背后的原因.也许如果你给我一些例子,它会导致更清晰的代码和更容易维护,那么我可以绕过它.:)

你能帮我吗?

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

namespace ConsoleApplication2
{
    delegate decimal CalculateBonus(decimal sales);

    class Player
    {
        public string Name;
        public decimal Score;
        public decimal Bonus;
        public CalculateBonus calculation_algorithm;
    }

    class Program
    {        
        static decimal calculateStandardBonus(decimal sales)
        {
            return sales / 10;
        }

        static void Main(string[] args)
        {
            decimal multiplier = 2;

            CalculateBonus standard_bonus = new CalculateBonus(calculateStandardBonus);
            CalculateBonus enhanced_bonus = delegate(decimal sales) { return multiplier * sales / 10; };

            Player[] players = new Player[5];

            for …
Run Code Online (Sandbox Code Playgroud)

c# anonymous-delegates

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

模拟ParentActionViewContext MVC.Net

我找不到模拟ControllerContext.ParentActionViewContext的解决方案.这是我的控制器的代码


[ChildActionOnly]
public ViewResult Menu()
{
string controller = ControllerContext.ParentActionViewContext.RouteData.Values["controller"].ToString();
string action = ControllerContext.ParentActionViewContext.RouteData.Values["action"].ToString();
List menuItems = new List();

...code to populate my list...

return View(menuItems);
}
Run Code Online (Sandbox Code Playgroud)

我想要完成的是在测试中模拟ParentActionViewContext,这样我就可以传递我想要进行模拟的任何控制器和动作.我可以模拟ControllerContext的RouteData,但我无法伪造父控制器之一.也许我错过了一些obviuos.

任何帮助是极大的赞赏.

asp.net-mvc mocking

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

SQL Server:为什么不同备份的大小相同?

我每天都运行一个脚本(到目前为止只有2天)来备份我的数据库:

sqlcmd -E -S server-hl7\timeclockplus -i timeclockplus.sql
move "C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Backup\*.*" w:\
Run Code Online (Sandbox Code Playgroud)

为什么两个不同日期的备份具有SAME EXACT大小(以字节为单位)?我知道数据库肯定已经改变了!

sql-server

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

C/C++中结构的字段对齐

结构的成员是用C/C++打包的吗?(通过打包我的意思是它们是紧凑的,在字段之间没有内存空间)

c c++

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

jquery触发器 - '更改'功能

我有一个名为"pick_up_point"的单选按钮,我有一个更改处理程序来检测被检查的单选按钮.在更改处理程序中,我调用一个函数"clearFields()",它基本上清除了输入字段.

function clearFields()
{
 $("#Enquiry_start_point").val("");
 $("#Enquiry_start_town").val("");
 $("#Enquiry_start_postcode").val("");
}

$("input[name='pick_up_point']").change(function()
{
 if($("input[name='pick_up_point']:checked").val() == "pick_up_airport")
 {
  $("#pick_up_airport_div").slideDown();
  $("#start_point_div").hide();
  clearFields();
 }
});
Run Code Online (Sandbox Code Playgroud)

我还有一个触发器,如果​​由于验证错误而重新显示表单,它将保留视图.

$('input[name=\'pick_up_point\']').trigger('change');
Run Code Online (Sandbox Code Playgroud)

现在当我发布表单时,触发器运行并调用更改处理程序,当然它运行clearFields()函数.那我怎么能解决这个问题呢?我不希望在重新显示表单时清除字段.

jquery

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

流畅的NHibernate - 配置Oracle数据提供程序ODP

我是NHibernate和Fluent NHibernate的新手,我正在努力让以下的配置工作.

private static ISessionFactory CreateSessionFactory()
{
     return Fluently.Configure() 
       .Database(
       OracleDataClientConfiguration.Oracle10.ConnectionString("Data Source=mysource;User ID=myid;Password=mypwd;")                  
          )
         .Mappings(m =>
            m.FluentMappings.AddFromAssemblyOf<Program>())
         .BuildSessionFactory();

    }
Run Code Online (Sandbox Code Playgroud)

我引用了Oracle.DataAccess程序集.我正在使用VS 2010和.Net 4

我得到以下异常:

FluentNHibernate.Cfg.FluentConfigurationException未处理Message =创建SessionFactory时使用了无效或不完整的配置.检查PotentialReasons集合,以及InnerException以获取更多详细信息.

ThreadStart_Context在System.Threading.ExecutionContext.Run(的ExecutionContext的ExecutionContext,ContextCallback回调,对象的状态,布尔ignoreSyncCtx)在System.Threading.ExecutionContext.Run(的ExecutionContext的ExecutionContext,ContextCallback回调,对象状态)在System.Threading.ThreadHelper(对象状态) .ThreadStart()InnerException:NHibernate.HibernateException Message =无法从NHibernate.Driver.OracleDataClientDriver,NHibernate,Version = 2.1.2.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4创建驱动程序.Source = NHibernate StackTrace:at NHibernate.Connection.ConnectionProvider.ConfigureDriver(IDictionary)布尔ignoreSyncCtx)在System.Threading.ExecutionContext.Run(ExecutionContext中的ExecutionContext在System.Threading.ThreadHelper.ThreadStart,ContextCallback回调,对象状态)()的InnerException:NHibernate.HibernateException消息=无法从NHibernate.Driver.OracleDataClientDriver创建驱动程序, NHibernate,Version = 2.1.2.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4.Source = NHibernate StackTrace:at NHibernate.Connection.ConnectionProvider.ConfigureDriver(IDictionary)布尔ignoreSyncCtx)在System.Threading.ExecutionContext.Run(ExecutionContext中的ExecutionContext在System.Threading.ThreadHelper.ThreadStart,ContextCallback回调,对象状态)()的InnerException:NHibernate.HibernateException消息=无法从NHibernate.Driver.OracleDataClientDriver创建驱动程序, NHibernate,Version = 2.1.2.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4.Source = NHibernate StackTrace:at NHibernate.Connection.ConnectionProvider.ConfigureDriver(IDictionary)Version = 2.1.2.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4.Source = NHibernate StackTrace:at NHibernate.Connection.ConnectionProvider.ConfigureDriver(IDictionary)Version = 2.1.2.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4.Source = NHibernate StackTrace:at …

oracle configuration odp.net fluent-nhibernate

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

如何解决System.Diagnostics.PerformanceCounter引起的内存泄漏问题

摘要

我编写了一个进程监视器命令行应用程序,它将参数作为参数:

  • 进程名称或进程ID
  • CPU阈值百分比.

该程序的作用是使用传递的名称或pid监视所有进程,如果它们的CPU使用率超过阈值%,则会杀死它们.

我有两个班: ProcessMonitorProcessMonitorList

前者,包裹着System.Diagnostics.PerformanceCounter
后者是一个IEnumarable允许前者的列表式结构.

问题

程序本身工作正常,但如果我在任务管理器上观察内存使用情况,它会以每秒约20kB的增量增长.注意:程序PerformanceCounter每秒轮询一次CPU计数器.

该程序需要在使用频繁的服务器上运行,并且正在监视大量进程.(20-30).

调查到目前为止

我使用PerfMon监视进程的私有字节数与所有堆中的字节总数,并根据下面引用的文章中提供的逻辑,我的结果表明,在波动时,值仍然在可接受的范围内,并且因此没有内存泄漏:
文章

我还使用FxCop来分析我的代码,并没有提出任何相关的内容.

情节变粗

不好意思只是说,哦,然后没有内存泄漏,我进一步调查,并发现(通过调试)以下代码行演示泄漏发生的位置,箭头显示确切的行.

_pc = new PerformanceCounter("Process", "% Processor Time", processName);
Run Code Online (Sandbox Code Playgroud)

以上是启动_pc的地方,并且是我ProcessMonitor班级的构造函数.

以下是导致内存泄漏的方法.这个方法每隔一秒从我的主要调用.

public float NextValue()
{
        if (HasExited()) return PROCESS_ENDED;
        if (_pc != null)
        {
            _lastSample = _pc.NextValue();   //<-----------------------
            return _lastSample;
        }
        else return -1;
}
Run Code Online (Sandbox Code Playgroud)

这向我表明该NextValue()方法内部存在泄漏,该泄漏存在于System.Diagnostics.PerformanceCounter类中.

我的问题:

  1. 这是一个已知的问题,我该如何解决它?
  2. 我的假设是任务管理器的内存使用量增加意味着确实存在内存泄漏问题吗?
  3. 有没有更好的方法来监视特定进程的多个实例,如果它们超过特定的阈值CPU使用率,则关闭它们,然后发送电子邮件?

memory-leaks system.diagnostics

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

jQuery工具:如何关闭叠加层?

$("a[rel]").getOverlay().close();
$("a[rel]").close();
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.

$(document).ready(function () {
        $("a[rel]").overlay({
            mask: '#3B5872',
            effect: 'apple',
            onBeforeLoad: function () {
                var wrap = this.getOverlay().find(".contentWrap");
                wrap.load(this.getTrigger().attr("href"));
            },
            onLoad: function () {
                $('.contentWrap form').submit(function (event) {
                    event.preventDefault();
                    $("a[rel]").overlay().close();
                    hijack(this, update_employees, "html");
                });
            }
        });
    });

    function hijack(form, callback, format) {
        $.ajax({
            url: form.action,
            type: form.method,
            dataType: format,
            data: $(form).serialize(),
            success: callback
        });
    }

    function update_employees(result) {
        $("#gridcontainer").html(result);
    }
Run Code Online (Sandbox Code Playgroud)

有什么建议?

我使用Chrome是因为onLoad事件似乎无法在FF中正常工作.

jquery overlay dialog popup jquery-tools

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

在Google App Engine上运行的大型网站示例

任何人都可以提供目前在Google App Engine上运行的大型网站的示例吗?

如果可以的话,请粗略估计一下流量以及流量的长短.

以及任何重要的停机时间(如果有的话).

谢谢罗恩

google-app-engine

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

在WPF控件中显示特殊(不可打印)字符

我有从设备收到的原始二进制数据.我想显示像HEX编辑器那样的数据 - 显示十六进制值,但也显示相应的字符.

我发现字体有ASCII码0到32的字符,但我不能让它们显示在屏幕上.

我用WPF listbox,itemscontrol和textbox尝试了这个.

是否有一些设置可以使这项工作?
或者也许一些WPF控件会显示这个字符?

编辑:
经过一些思考和测试后,只有出现问题的字符是换行符,换页符,回车符,退格键,水平和垂直选项卡.作为快速解决方案,我决定用ASCII 16(10HEX)字符替换这些字符.我用ASCII,UTF-8和Unicode文件测试了它,它适用于这三种格式.

这是我正在使用的正则表达式:

rawLine = Regex.Replace(inputLine, "[\t\n\r\f\b\v]", '\x0010'.ToString());
Run Code Online (Sandbox Code Playgroud)

它用一些四四方位的符号替换了这6个有问题的字符的所有出现.它表明这不是"常规可打印"字符,它适用于我.

c# wpf special-characters

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