阅读本文之后http://www.codinghorror.com/blog/archives/000228.html我更了解编译正则表达式的好处,但是在个人情况下你会考虑强制使用已编译的Reg Ex吗?
例如,我在循环中使用正则表达式并且正则表达式字符串在每次迭代时使用不同的变量,因此我将通过将此正则表达式标记为编译正确来寻求没有改进?
foreach (field field in fields.Where(x => x.condition))
MatchResults = Regex.Match(request.Message, field.RegularExpression);
...
Run Code Online (Sandbox Code Playgroud) 我正在处理一个文件来添加/检索数据.数据格式是JSON.我是新手.我正在使用JSON.NET来序列化和反序列化数据.这是json格式
{
"EmpId": 1,
"Name": "Kaushik",
"Designation": ".net Developer",
"JoiningDate": "09/23/2013",
"Skill": [
{
"Id": 1,
"SkillName": "C#"
},
{
"Id": 2,
"SkillName": "PHP"
},
{
"Id": 3,
"SkillName": "java"
}
]
}
这是我正在研究的JSON格式.问题描述
[
{
"EmpId": 1,
"Name": "Kaushik",
"Designation": ".net Developer",
"JoiningDate": "09/23/2013",
"Skill": [
{
"Id": 1,
"SkillName": "C#"
},
{
"Id": 2,
"SkillName": "PHP"
},
{
"Id": 3,
"SkillName": "java"
}
]
},
{
"EmpId": 1,
"Name": "Kaushik",
"Designation": ".net … 奇怪的是这里.根据设置的内容,我的MVC Web应用程序的版本号无法正确打印到我的视图中AssemblyInfo.cs.我在集合中设置的定义AssemblyInfo.cs是' 1.0.232.0'.
我尝试了多种方法来打印它:
<%= System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()%>
Run Code Online (Sandbox Code Playgroud)
(结果0.0.0.0)
<%= System.Reflection.Assembly.GetCallingAssembly().GetName().Version.ToString()%>
Run Code Online (Sandbox Code Playgroud)
(结果是2.0.0.0,在我的项目中没有设置.)
<%= typeof(HomeController).GetType().Assembly.GetName().Version.ToString()%>
Run Code Online (Sandbox Code Playgroud)
(结果2.0.0.0)
这让我相信它一定不能拿起我的AssemblyInfo.cs文件?如果我尝试使用"发布"按钮在我们的开发服务器上发布到IIS,情况也是如此.
有任何想法吗?也许我使用错误的语句来获取版本号?:\
多谢你们.
我使用a netNamedPipeBinding来执行从Windows应用程序到Windows服务的进程间WCF通信.
现在我的应用程序在所有其他帐户中运行良好(在与WCF异常的公平份额作斗争后,因为任何与WCF合作的人都会知道..)但是这个错误证明是非常有弹性的.
要绘制我的场景图片:我的Windows服务可以排队等待任何给定时间通过在Windows应用程序中按下的按钮进行一些工作,然后讨论netNamedPipeBinding哪个是一个支持回调(双向通信)的绑定你不熟悉并发起执行这项工作的请求(在这种情况下是一个文件上传程序)它还会每隔几秒抛出一次回调(事件),从文件进度到传输速度等等,回到windows应用程序,所以有一些相当紧密的客户端 - 服务器集成; 这就是我将我的Windows服务中运行的进度恢复到我的Windows应用程序的方式.
现在,一切都很好,WCF众神现在对我很满意,除了我每次关机时提前收到的一个令人讨厌的异常(这是一个完全有效的场景).虽然正在进行传输,并且回调频繁发生,但我收到此错误:
System.ServiceModel.ProtocolException:
The channel received an unexpected input message with Action
'http://tempuri.org/ITransferServiceContract/TransferSpeedChangedCallback'
while closing. You should only close your channel when you are not expecting
any more input messages.
Run Code Online (Sandbox Code Playgroud)
现在我明白了这个错误,但遗憾的是我不能保证在从未收到任何更多的输入消息后关闭我的频道,因为用户可能随时关闭应用程序因此工作仍将继续在Windows服务的背景中(有点就像病毒扫描程序如何运作一样).用户应该能够在没有干扰的情况下尽可能多地启动和关闭win管理工具应用程序.
现在错误,我在执行我的Unsubscribe()呼叫后立即收到,这是终止应用程序之前的第二个最后一个呼叫,我认为这是断开WCF客户端的首选方式.在关闭连接之前,所有取消订阅都只是从本地存储在win服务wcf服务上的数组中删除客户端ID(因为这是win服务和Windows应用程序共享的实例,因为win服务可以在预定的事件本身)和我执行的客户端ID数组删除后,我希望(感觉)应该是一个干净的断开连接.
除了接收异常之外,其结果是我的应用程序挂起,UI处于完全锁定状态,进度条和中间的所有内容,所有迹象都指向具有竞争条件或WCF死锁[叹气],但我很漂亮线程精通现在,我认为这是一个相对孤立的情况,并按原样阅读异常,我不认为这是一个"线程"问题本身,因为它表明更多的早期断开连接的问题,然后螺旋所有我的线程陷入混乱,可能导致锁定.
我Unsubscribe()在客户端的方法如下所示:
public void Unsubscribe()
{
try
{
// Close existing connections
if (channel != null &&
channel.State == CommunicationState.Opened)
{
proxy.Unsubscribe();
}
}
catch (Exception)
{
// This is where we receive …Run Code Online (Sandbox Code Playgroud) 可以在ASP.NET MVC 3中HttpContext访问ValidationAttribute吗?
我需要在路由数据中测试一些匹配项,以便在我的验证器上返回true.
谢谢
在Visual Studio 2010中,我知道您可以使用PowerCommands扩展来右键单击 - >项目和"删除并排序使用",我也知道您可以在右键单击上下文菜单中基于单个文件组织使用.
我确实找到了创建一个新宏的指令,该宏在整个项目中执行了组织usings命令来执行此操作,但是并没有做到这一点 - 因为我相信Visual Studio 2012中不支持宏.
任何人对如何做这个大众都有任何想法?
任何人都可以解释一下这可能发生的原因吗?
我完全了解编程时考虑到线程安全性,你可以看到我通过表单InvokeRequired检查UI更新,检查一切,一切都工作正常,没有任何修改来打破这个,我知道,现在突然就像我正在编写应用程序的其他部分(可能在一个阶段添加到此方法?我只是不记得了)我不好意思,收到此错误:

首先,如果InvokeRequired = true,那应该意味着执行了BeginInvoke(),方法是[队列]重新调用,而InvokeRequired应该等于false?
我不应该收到这个例外,因为它应该照顾吗?
希望听到一些多线程大师:)
格雷厄姆
有人有运气吗?
如果我理解正确,请告诉我,如果我有一个简单的模型,请说:
public string Name { get; set; }
public string Details { get; set; }
public DateTime? Created { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后我执行:
var myModel = getCurrentModelFromDb(id);
UpdateModel(myModel, "ModelName", new string { "Name", "Details" });
Run Code Online (Sandbox Code Playgroud)
这应该只更新名称和详细信息属性吗?因为假设在'created'中已经有来自db的日期,当我执行上述操作时,它似乎将我创建的日期设置为原始的01-01-0001.
此外,当我尝试使用以下方法明确排除此字段时:
UpdateModel(myModel, "ModelName",
new string { "Name", "Details" }, new string { "Created" });
Run Code Online (Sandbox Code Playgroud)
它仍被设置为01-01-0001.这是一个错误,还是一个我做错的奇怪事情?
我真正想要做的是,更新我的模型属性,其中有相应的表单字段,但保留其余的单独的数据,这些属性是从db fetch单独设置的,而不是将它们设置为null或default,这就是它当前的内容似乎在做.
我会说,也许上面和我的真实场景之间的唯一区别是我在列表上使用updateModel,所以我实际上得到了listFromDb(parentId),然后在那个选择上应用updateModel(myList,"ListPrefix")通过[0],[1]等来计算每个项目...它的工作原理,因为所有名称都在更新,但其他一切都没有.
更新:我刚刚意识到'includeProperties'可能是要定义您希望从表单中包含哪些属性,类似于绑定的工作方式.如果*是*的情况,那么我怎么能告诉它只更新某些模型属性呢?
MonoGame(一个基本上将XNA引入Windows Phone 8的框架)具有前缀的所有名称空间,Microsoft.Xna.Framework我相信最小化将XNA应用程序移植到MonoGame时所需的代码更改量.
我的问题是,我希望访问Microphone该类,因为尚未在MonoGame中创建,我必须在官方的Microsoft XNA类中从内部使用它,这需要取出明确的强制删除标准Microsoft.XNA.Framework.dll引用. .csproj,我的MonoGame模板已设置为避免冲突,这很好用,现在Microphone可以访问,但这样做我在Microsoft标准问题和MonoGame中存在的几个关键类之间产生了歧义.
我收到的错误是:
不明确的参考:
Microsoft.Xna.Framework.Color
Microsoft.Xna.Framework.Color
这显然是因为除了标准的Microsoft发布的XNA库之外,我还引用MonoGame.Framework.dll了命名空间的命名空间,从而产生了这种模糊性.但是,在所有情况下,我都希望访问MonoGame版本.
任何想法如何我可以明确地告诉编译器使用Color和Vector2类的MonoGame版本而不是官方的微软版本?
任何using Color = Microsoft.Xna.Framework明显的尝试都不会起作用,因为它们在编译的dll中都被标记为相同!
在不知疲倦地浏览Bootstrap文档之后,我似乎无法input-prepend在此表单上以我需要的方式布局下面的插件输入(带黄色下划线):

您会注意到"实际门尺寸"行的布局不正确且布局不正确.我正在使用标准row-fluid和span*惯例,其余的工作都很好.我真的只是想做一个整齐的高度/宽度/深度前置输入选项集,它们彼此相邻地浮动(并且不会溢出),但重要的是我充分利用bootstrap以确保字段然后丢弃在移动设备上彼此相对,因为这种形式将主要通过iPad访问.
如果有人可以建议对下面的HTML进行一些改动,以提供一种简洁的方式来布置这三个输入,这将是很好的(忽略插件高度不匹配的事实,我将修复它).
我还包括'密封的顶部底部/完成门'行,所以你可以看到我如何做我的双柱方法,这是非常有效的.
<!-- CULPRIT START -->
<div class="row-fluid">
<div class="span12">
<div class="span4">
<div class="control-group">
<label for="ActualDoorSizeHeight" class="control-label">Actual Door Size:</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">H</span><input id="ActualDoorSizeHeight" class="input-block-level" type="text" data-bind="value: vm.ActualDoorSizeHeight" />
</div>
</div>
</div>
</div>
<div class="span4">
<div class="control-group">
<label for="ActualDoorSizeHeight" class="control-label"></label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">W</span><input id="Text5" class="input-block-level" type="text" data-bind="value: vm.ActualDoorSizeWidth" />
</div>
</div>
</div>
</div>
<div class="span4">
<div class="control-group">
<label for="ActualDoorSizeHeight" class="control-label"></label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">D</span><input id="Text11" …Run Code Online (Sandbox Code Playgroud) .net ×5
asp.net-mvc ×3
c# ×3
asp.net ×1
css ×1
deadlock ×1
file-io ×1
html ×1
json ×1
monogame ×1
reflection ×1
regex ×1
updatemodel ×1
using ×1
validation ×1
wcf ×1
xna ×1