问题列表 - 第817页

MVC或事件驱动的面向组件的Web框架?

这个问题打算与技术无关.您更喜欢哪种Web框架,何时:纯MVC或事件驱动的组件导向?

为了说明"技术不可知论",我在这里用不同的技术/语言命名了一些MVC与组件Web框架:

  • Struts Java Server Faces/Tapestry
  • 新的ASP.NET MVC "经典"ASP.NET
  • 蛋糕PHP PRADO

web-frameworks

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

5409
推荐指数
22
解决办法
75万
查看次数

记录应用程序块 - 记录调用者

使用Log4Net进行日志记录时,将调用日志的类放入日志文件中非常容易.我在过去发现,这使得跟踪代码并查看类中的流程变得非常容易.在Log4Net中,我在转换模式中使用%logger属性,如下所示:

<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
Run Code Online (Sandbox Code Playgroud)

这给了我想要的输出:

2008-09-19 15:40:26,906 [3132] ERROR <b>Log4NetTechDemo.Tester</b> [(null)] - Failed method

您可以从输出中看到调用日志的类是Log4NetTechDemo.Tester,因此我可以很容易地将错误追溯到该类.

在Logging Applicaton Block中,我无法通过简单的日志调用来弄清楚如何执行此操作.有谁知道怎么做?如果是这样,那么这样做的一个例子或步骤将非常有帮助.

c# logging enterprise-library application-blocks

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

C#中的正则表达式用于文件名验证

有什么好的正则表达式可以验证文本字符串以确保它是有效的Windows文件名?(AKA没有\/:*?"<>|角色).

我想像下面这样使用它:

// Return true if string is invalid.
if (Regex.IsMatch(szFileName, "<your regex string>"))
{
    // Tell user to reformat their filename.
}
Run Code Online (Sandbox Code Playgroud)

c# regex

19
推荐指数
2
解决办法
4万
查看次数

我需要加入两个列表,对它们进行排序并删除重复项.有一个更好的方法吗?

我有两个未排序的列表,我需要生成另一个已排序的列表,其中所有元素都是唯一的.

元素可以在两个列表中多次出现,并且它们最初是未排序的.

我的功能看起来像这样:

(defun merge-lists (list-a list-b sort-fn)
    "Merges two lists of (x, y) coordinates sorting them and removing dupes"
    (let   ((prev nil))
        (remove-if
            (lambda (point)
                (let   ((ret-val (equal point prev)))
                    (setf prev point)
                    ret-val))
            (sort
                (merge 'list list-a list-b sort-fn) ;'
                 sort-fn))))
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来实现同样的目标?

示例电话:

[CL]> (merge-lists '(9 8 4 8 9 7 2) '(1 7 3 9 2 6) #'>)
  ==> (9 8 7 6 4 3 2 1)
Run Code Online (Sandbox Code Playgroud)

lisp sorting algorithm list

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

如何测试Web UI以查看它是否在不同浏览器中统一呈现?

像Selenium这样的工具非常适合在Web UI上测试用户交互.但是,我很好奇人们在严格测试和验证网页是否在一组浏览器中正确呈现的方法是什么?

这甚至可能吗?

browser testing user-interface

7
推荐指数
2
解决办法
1038
查看次数

LINQ to SQL insert-if-non-exist

我想知道如果在表中不存在记录,是否有更简单的方法来插入记录.我还在尝试构建我的LINQ to SQL技能.

这就是我所拥有的,但似乎应该有一种更简单的方法.

public static TEntity InsertIfNotExists<TEntity>
(
    DataContext db,
    Table<TEntity> table,
    Func<TEntity,bool> where,
    TEntity record
)
    where TEntity : class
{
    TEntity existing = table.SingleOrDefault<TEntity>(where);

    if (existing != null)
    {
        return existing; 
    }
    else
    {
        table.InsertOnSubmit(record);

        // Can't use table.Context.SubmitChanges()
        // 'cause it's read-only

        db.SubmitChanges();
    }

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

c# linq-to-sql

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

C#中一个好的线程安全单例通用模板模式是什么

我有以下C#单例模式,有什么方法可以改进它吗?

    public class Singleton<T> where T : class, new()
    {

        private static object _syncobj = new object();
        private static volatile T _instance = null;
        public static T Instance
        {
            get
            {
                if (_instance == null)
                {
                    lock (_syncobj)
                    {
                        if (_instance == null)
                        {
                            _instance = new T();
                        }
                    }
                }
                return _instance;
            }
        }

        public Singleton()
        { }

    }
Run Code Online (Sandbox Code Playgroud)

首选用法示例:

class Foo : Singleton<Foo> 
{
} 
Run Code Online (Sandbox Code Playgroud)

相关:

.NET的一个明显的单例实现?

c# design-patterns

31
推荐指数
4
解决办法
2万
查看次数

如何让silverlight从MySQL获取数据

我在Silverlight中编写了一个小型的hello world测试应用程序,我想在Linux/Apache2服务器上托管.我希望数据来自MySQL(或其他一些兼容Linux的数据库),以便我可以数据绑定到数据库中的内容.

我已经设法通过使用MySQL Connector/.NET来实现它:

MySqlConnection conn = new MySqlConnection("Server=the.server.com;Database=theDb;User=myUser;Password=myPassword;");
conn.Open();
MySqlCommand command = new MySqlCommand("SELECT * FROM test;", conn);
using (MySqlDataReader reader = command.ExecuteReader())
{
     StringBuilder sb = new StringBuilder();
     while (reader.Read())
     {
         sb.AppendLine(reader.GetString("myColumn"));
     }
     this.txtResults.Text = sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)

如果我给已发布的ClickOnce应用程序完全信任(或至少是SocketPermission)并在本地运行它,这可以正常工作.

我希望这在服务器上运行,我无法让它工作,总是以权限异常结束(不允许SocketPermission).

数据库与silverlight应用程序托管在同一服务器上,如果这有任何区别的话.

编辑 好的,我现在明白为什么在客户端应用程序中显示数据库凭据是一个坏主意(显然).人们如何做到这一点呢?如何保护代理Web服务,以便以安全的方式将数据传入和传出客户端/数据库?网上有没有任何例子?

当然,我不能成为第一个使用数据库为Silverlight应用程序提供动力的人?

.net c# mysql data-binding silverlight

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

混淆拼图:你能弄清楚这个Perl函数的作用吗?

sub foo {[$#{$_[!$||$|]}*@{$_[!!$_^!$_]}?@{$_[!$..!!$.]}[$_[@--@+]%
@{$_[$==~/(?=)//!$`]}..$#{$_[$??!!$?:!$?]},($)?!$):!!$))..$_[$--$-]%@{
$_[$]/$]]}-(!!$++!$+)]:@{$_[!!$^^^!$^^]}]}
Run Code Online (Sandbox Code Playgroud)

更新:我认为"拼图"这个词会暗示这一点,但是:知道它的作用 - 我写了它.如果拼图不感兴趣,请不要浪费任何时间.

puzzle obfuscation perl

5
推荐指数
3
解决办法
1462
查看次数