我从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) 我找不到模拟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.
任何帮助是极大的赞赏.
我每天都运行一个脚本(到目前为止只有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大小(以字节为单位)?我知道数据库肯定已经改变了!
我有一个名为"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()函数.那我怎么能解决这个问题呢?我不希望在重新显示表单时清除字段.
我是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 …
我编写了一个进程监视器命令行应用程序,它将参数作为参数:
该程序的作用是使用传递的名称或pid监视所有进程,如果它们的CPU使用率超过阈值%,则会杀死它们.
我有两个班:
ProcessMonitor和ProcessMonitorList
前者,包裹着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类中.
$("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中正常工作.
任何人都可以提供目前在Google App Engine上运行的大型网站的示例吗?
如果可以的话,请粗略估计一下流量以及流量的长短.
以及任何重要的停机时间(如果有的话).
谢谢罗恩
我有从设备收到的原始二进制数据.我想显示像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# ×2
jquery ×2
asp.net-mvc ×1
c ×1
c++ ×1
dialog ×1
jquery-tools ×1
memory-leaks ×1
mocking ×1
odp.net ×1
oracle ×1
overlay ×1
popup ×1
sql-server ×1
wpf ×1