小编Dam*_*isa的帖子

我应该从ASP.NET MVC 1还是MVC 2 Beta开始?

我刚开始进入ASP.NET MVC,今天看到版本2Beta版已经发布.

我应该从MVC 1开始,因为已经有很多很棒的资源和教程吗?或者我应该直接使用MVC 2来利用已经进行的任何改进?

我正在考虑将其分解为另一个问题,但我想后续问题是主要区别是什么?版本1教程是否适合让我进入版本2?

更新:

我认为值得更新这个问题值得一提,我开始介绍Scott Guthrie的NerdDinner教程.我强烈推荐它.

经过这一切,我开始在我自己的项目中使用它,几乎立即遇到了障碍.我想在我的网站的不同区域重用部分内容.如果部分属于不同的控制器,则无法做到.但是,MVC 2 Html.RenderAction解决了我的问题.

.net asp.net-mvc

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

有没有更好的方法来计算消息队列(MSMQ)中的消息?

我现在这样做:

MessageQueue queue = new MessageQueue(".\Private$\myqueue");
MessageEnumerator messageEnumerator = queue.GetMessageEnumerator2();
int i = 0;
while (messageEnumerator.MoveNext())
{
    i++;
}
return i;
Run Code Online (Sandbox Code Playgroud)

但是由于显而易见的原因,它只是感觉不对 - 我不应该遍历每一条消息只是为了得到一个数,我应该吗?

有没有更好的办法?

c# performance msmq

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

缓存的最佳技术来自不经常更改的查询

我有一个php Web应用程序,其中某些数据每周都会更改,但经常会经常阅读.

检索数据的SQL查询和html输出的php代码相当复杂.有多个表连接和大量计算 - 但它们会产生一个相当基本的html表.用户被分组,每周的表对于每个组是相同的,但对于不同的组是不同的.我可能有成千上万的用户拥有数百个表.

出于性能原因,我想缓存这些数据.每次有人点击页面时,我都不想运行这些查询和计算,而是希望运行每周一个过程来为每个组生成表格,在需要时给我一个简单的读取.

我有兴趣知道你成功或成功使用了哪些技术来实现这样的目标?

我能看到的选项包括:

  • 将计算的html结果存储在由用户组标识的MySQL表中
  • 将结果数据存储在由用户组标识的MySQL表中(很难,因为没有固定数量的数据项)
  • 在静态文件中缓存页面输出

任何其他建议将是受欢迎的!

php mysql caching

6
推荐指数
2
解决办法
1979
查看次数

Microsoft Message Queue - 优先级标志还是单独的队列?

我在C#中实现了一个使用Microsoft Message Queue(System.Messaging)进行相关进程之间通信的系统.实质上,许多Sender服务生成要放入队列的消息,并且许多Receiver进程会在队列到达时监视队列并抓取这些消息.

我刚刚被告知有些消息需要优先于其他消息.

消息可能会出现波动,并且有可能在一次命中(例如一千次左右)中将大量消息放入队列中,因此在最终消息处理之前可能会有延迟.

我最初的想法是拥有第二个优先级消息队列,每个接收者进程也会在另一个线程中监视该队列.此队列中的消息数量要少得多,因此延迟时间会减少.

然后我偶然发现了这家Message.Priority酒店.

所以:

我应该使用此优先级标志而不是实现另一个队列吗?它会成功有效地跳过这些消息吗?如果是这样,那么可能存在哪些条件和副作用?

或者我应该坚持我的原始计划并实施另一个优先级消息队列?

.net c# multithreading msmq

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

将.Net Garbage收集一个未被引用的对象,但是有一个正在运行的线程吗?

我有以下代码(为了便于阅读而减少):

主类:

public StartProcess()
{
    Thinker th = new Thinker();
    th.DoneThinking += new Thinker.ProcessingFinished(ThinkerFinished);
    th.StartThinking();
}

void ThinkerFinished()
{
    Console.WriteLine("Thinker finished");
}
Run Code Online (Sandbox Code Playgroud)

思想家班级:

public class Thinker
{
    private System.Timers.Timer t;

    public delegate void ProcessingFinished();
    public event ProcessingFinished DoneThinking;

    BackgroundWorker backgroundThread;

    public Thinker() { }

    public StartThinking()
    {
        t = new System.Timers.Timer(5000);    // 5 second timer
        t.AutoReset = false;
        t.Elapsed += new System.Timers.ElapsedEventHandler(t_Elapsed);
        t.Start();

        // start a background thread to do the thinking
        backgroundThread = new BackgroundWorker();
        backgroundThread.DoWork += new DoWorkEventHandler(BgThread_DoWork); …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading garbage-collection

6
推荐指数
2
解决办法
1775
查看次数

什么是编译为本机Windows代码的优秀轻量级编程语言?

我是.Net开发人员,但我有一种情况,我不能保证.Net Framework将安装在目标机器上.

我已经看到了一些问题(这里这里)建议使用NGen编译为本机代码.两者都指出你仍然需要框架.

我想写一个相当轻量级的应用程序(基本的GUI,没有数据库,没什么复杂的)但由于各种原因,我不想安装任何框架或字节码解释器.

这个问题暗示了Python和py2exe.我不熟悉Python,但如果它是这项工作的最佳工具,我可能已经足够学习编写这个应用程序(我不想这样做).我也考虑用DHTML和javascript编写它 - 我可以依赖具有相对较新浏览器的机器.

我熟悉C语言系列,并涉及Java,PHP和Ruby.

任何人都可以建议一种我可以轻松编译为本机Win32代码的语言吗?

编辑:澄清

有一些答案表明,如果我熟悉C语言系列,为什么不使用C?我应该澄清一下.我每天都使用C#,我在C +和C++上长大(但是已经有很多年没用了).

它看起来像C/C++可能是要走的路,但我必须刷新我的内存:)

.net windows compiler-construction winapi programming-languages

5
推荐指数
2
解决办法
6638
查看次数

如何阻止我的System.Messaging.MessageQueue将我的字符串包装在XML中?

我需要通过Windows Message Queue与我的C#应用​​程序中的遗留应用程序进行通信.

遗留应用程序需要特定专用队列中的纯字符串消息,但我似乎无法阻止System.Messaging.MessageQueue将我的消息包装在XML中!

我正在测试的代码非常简单:

MessageQueue myQueue = new MessageQueue(@".\Private$\tolegacy");
Message msg = new Message("My Test String");
myQueue.Send(msg);
Run Code Online (Sandbox Code Playgroud)

问题是消息是XML序列化的,并在队列中显示为:

<?xml version="1.0"?><string>My Test String</string>
Run Code Online (Sandbox Code Playgroud)

我无法修改遗留应用程序的行为,因此我需要阻止System.Messaging.MessageQueue将我的消息格式化为XML.

有人可以帮忙吗?

.net c# msmq xml-serialization

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

您是否想将Web应用程序"部署"到桌面,将其包装在Google Chrome窗口中?

我有一个特定的Web应用程序,像大多数其他人一样,必须考虑到不同的浏览器.它开始变得特别笨拙,我们只考虑告诉用户不要使用IE,这样我们就可以完成它(它是一个内部应用程序 - 我们可以这样做).

当我设置Google Apps帐户时,我发现您可以提供指向您的用户的链接,这些链接基本上会将Google应用程序(邮件,文档,日历等)"部署"到用户的计算机上.看起来它安装了一个简化版Chrome,可以在无工具栏的Chrome窗口中运行这些网络应用.

我们现在想知道是否可以以类似的方式"部署"我们的Web应用程序.我们是否可以提供与Google Apps安装程序类似的安装程序?那是:

  • 安装Chrome
  • 设置Chrome应用程序快捷方式以转到我们的网络应用程序(它只是Chrome的快捷方式,带有--app参数)

有没有人考虑过这个或更好的,你做过吗?甚至可以做到吗?

更新:您似乎可以在静默模式下运行独立安装程序来执行第一步.

更新2: 或不.

installer google-chrome web-applications

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

为什么我的!important属性不适用于Google Chrome?

我的网络应用程序中有两个CSS文件:reset.css和screen.css.它们以html中的顺序出现(重置然后屏幕).

在reset.css中,发生以下样式定义:

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border-bottom-width:0;
  border-color:initial;
  border-left-width:0;
  border-right-width:0;
  border-style:initial;
  border-top-width:0;
  font-family:inherit;
  font-size:100%;
  font-style:inherit;
  font-weight:inherit;
  margin-bottom:0;
  margin-left:0;
  margin-right:0;
  margin-top:0;
  outline-color:initial;
  outline-style:initial;
  outline-width:0;
  padding-bottom:0;
  padding-left:0; …
Run Code Online (Sandbox Code Playgroud)

css firebug google-chrome css-selectors firebug-lite

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

如何在jquery中找到从表单提交事件中单击的按钮?

我有一个函数,我用来防止表单的多个回发:

var submitted = false;
$(function() {
    $('form').bind('submit', function(e) {
        if (!submitted && CanSubmit(e)) {
            submitted = true;
            return true;
        } else {
            return false;
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

在该CanSubmit方法中,我需要查询被单击的按钮以确定是否应该允许提交.

请注意,我无法绑定到特定的点击事件 - 有关更多详细信息,请参阅此前一个问题.

在Firefox中,我可以使用e.originalEvent.explicitOriginalTarget,但这显然在IE中不可用.

如何e以跨浏览器的方式从参数中获取此值?

javascript jquery cross-browser jquery-events

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