小编Jho*_*re-的帖子

忽略ASP.NET MVC中的路由

我正在学习使用ASP.NET MVC中的路由,并且我正在尝试理解IgnoreRoute方法.

我试图阻止用户访问"Content/{filename}.html".我把它作为RegisterRoutes方法中的第一个调用.这是我的代码:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("Content/{filename}.html");
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");


    routes.MapRoute("MyRoute", "{controller}/{action}/{id}/{*catchall}",
                    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                    new { controller = "^.*", action = "^Index$|^About$" },
                    new[] { "UrlsAndRoutes.AditionalControllers" });
    routes.MapRoute("MyRoute2", "{controller}/{action}/{id}/{*catchall}",
                   new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                    new { controller = "^.*", action = "^Index$|^About$" },
                   new[] { "UrlsAndRoutes.Controllers" });
    routes.MapRoute("ShopSchema2", "Shop/OldAction", new { controller = "Home", action = "Index" }); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-mvc-routing asp.net-mvc-4

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

扩展String类与IsNullOrEmpty混淆?

每个人都知道并喜欢String.IsNullOrEmpty(yourString)方法.

我想知道如果我们将String类扩展为具有这样的方法,是否会混淆开发人员或使代码更好:

yourString.IsNullOrEmpty();
Run Code Online (Sandbox Code Playgroud)

优点:

  1. 更具可读性.
  2. 减少打字.

缺点:

  1. 可能会让人感到困惑,因为yourString 变量可能null就像你在null变量上执行方法一样 .

你怎么看?

关于myObject.IsNull()方法我们可以问同样的问题.

我会怎么写它:

public static class StringExt
{
  public static bool IsNullOrEmpty(this string text)
  {
    return string.IsNullOrEmpty(text);
  }

  public static bool IsNull(this object obj)
  {
    return obj == null;
  }
}
Run Code Online (Sandbox Code Playgroud)

c# string extension-methods

11
推荐指数
4
解决办法
3402
查看次数

.NET中分离项目/ DLL的缺点和优点?其中有多少太多了?

这个问题涉及到其他一些相关的问题,我只想让他们每一个都随意回答其中一个或多个问题.

  • 分离Projects/DLL有什么好处?
  • 分离Projects/DLL有什么缺点?
  • 如果我为每个可共享资源创建一个新的解决方案/ DLL,是不是会有很多项目?
  • 经过太多项目(如40+)后,这会对IDE性能造成一些不良影响(VS.NET 2008)?

我问这个问题是因为我有这么多不同类的这个大解决方案,因为现在我需要分离一些接口,它们都崩溃了(循环依赖问题)现在我需要创建多个DLL,我只是想一定要这次以正确的方式做到这一点.

.net dll projects-and-solutions

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

如何直接在系统托盘中启动应用程序?(.NET C#)

我的意思是当用户启动我的应用程序(exe)时.我希望它直接在系统托盘中启动,而不显示窗口.像防病毒软件和下载管理器一样,它们默默地在系统托盘中启动和运行.

我想要相同的效果,当用户点击notifyIcon的contextmenustrip的"show"按钮时,只有应用程序应该显示GUI.

我正在使用它,但它没有用

    private void Form_Load(object sender, EventArgs e)
    {
        this.Hide();
    }
Run Code Online (Sandbox Code Playgroud)

可能我需要在其他没有GUI但具有notifyIcon和ContextMenuStrip的类中使用Main()函数,该选项将实例化GUI窗口类.对?

.net c#

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

MySql存储过程的参数与影响列的名称相同,是否可能?

我有一个包含两列的序列表,名称,值,我有一个存储过程,用于递增提供名称的值

DROP PROCEDURE IF EXISTS p_generate_sequence;
delimiter |
CREATE PROCEDURE p_generate_sequence (name VARCHAR(30))
BEGIN
    START TRANSACTION;
    -- Variable "name" equal to column "name", how to reference?
    UPDATE sequences_table SET value = value + 1 WHERE name = name;
    SELECT value FROM sequences_table WHERE name = name;
    COMMIT;
END |
delimiter ;
Run Code Online (Sandbox Code Playgroud)

请注意,该参数称为"名称".

是否有任何方法可以使用与受影响的表的列名相同的参数?

注意:我对更改参数的名称,甚至列的名称都不感兴趣,只是为了知道它是否可能,以及如何.

mysql stored-procedures

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

VS2008立刻窗口丢失

我在Visual Studio 2008中工作,刚才,我无法访问通常停靠在IDE底部的窗口(立即,错误列表,搜索结果),我找不到再次让它们恢复的方法.

我试过了

  • 使用所有可能的快捷方式(CTRL+ ALT+ I,CTRL+ ALT+ O) - 它们都不起作用
  • 使用菜单:Debug> Windows> Immediate-不起作用
  • 进行搜索 - 没有结果出现
  • 重新启动 - 也没有用

然而,我可以观察,停靠,并且通常可以使用断点窗口.当我处于调试模式时,我可以再次看到它们,但是如果我尝试将窗口解除停靠,我会得到一个VS异常.

以前有没有人遇到过这个问题?

visual-studio-2008

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

SQL Query检查表中的40列是否为空

如何在表中选择仅包含所有行的NULL值的几列?假设如果Table有100列,则在这100列中,60列具有空值.我如何写出条件来检查60列是否为空.

sql

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

php md5算法,给出与c#相同的结果

我在C#中有一个散列算法,简而言之,它是:

string input = "asd";

System.Security.Cryptography.MD5 alg = System.Security.Cryptography.MD5.Create();
System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();


byte[] hash = alg.ComputeHash(enc.GetBytes(input));
string output = Convert.ToBase64String(hash);

// outputs:   eBVpbsvxyW5olLd5RW0zDg==
Console.WriteLine(output);
Run Code Online (Sandbox Code Playgroud)

现在我需要在php中复制这种行为,

$input = "asd";
$output = HashSomething($input);
echo $output;
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现它?

我检查了

  • MD5
  • utf8_decode
  • 函数utf8_encode
  • BASE64_ENCODE
  • BASE64_DECODE
  • url_decode

但我注意到php md5最终没有得到== ...我错过了什么?

注意:我无法更改C#行为,因为它已经实现并且使用此算法将密码保存在我的数据库中.

php c# md5

8
推荐指数
2
解决办法
5422
查看次数

sqlite上的information_schema.columns

我想做下一个查询:

SELECT table_name, column_name, data_type, is_nullable, ... 
FROM information_schema.columns
Run Code Online (Sandbox Code Playgroud)

在sqlite数据库上.

我检查了

PRAGMA table_info(table_name); 
Run Code Online (Sandbox Code Playgroud)

但不适合我的需要,只需检查一个表的字段.

我检查了

select * from sqlite_master where type = 'table';
Run Code Online (Sandbox Code Playgroud)

但这只是获取表名和创建查询.

有没有办法将这些"加入"方法?或任何其他建议或想法?TX

database sqlite schema

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

如何在C#中将"Keys"枚举值转换为"int"字符?

这似乎应该很容易,但我很难搞清楚这里需要做些什么.

在"KeyDown"事件处理程序中,如果"e.KeyValue"是一个数字,我想将其视为一个数字并将其存储为int.所以,如果我在数字键盘上点击"8",我不想要"Numpad8"我想要我可以加或减的int值8或者其他什么.

那么,我如何从KeyValue转换为int?

c# keydown winforms

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