小编Jim*_*Aho的帖子

string.Equals()和==运算符是否真的相同?

他们真的一样吗?今天,我遇到了这个问题.这是立即窗口的转储:

?s 
"Category" 
?tvi.Header 
"Category" 
?s == tvi.Header 
false 
?s.Equals(tvi.Header) 
true 
?s == tvi.Header.ToString() 
true 
Run Code Online (Sandbox Code Playgroud)

所以,无论是stvi.Header包含"类别",而是==返回false,并Equals()返回true.

s被定义为字符串,tvi.Header实际上是一个WPF TreeViewItem.Header.那么,他们为什么会回归不同的结果呢?我一直认为它们可以在C#中互换.

任何人都可以解释为什么会这样吗?

c# string

224
推荐指数
5
解决办法
25万
查看次数

如果我正在使用OWIN Startup.cs类并在那里移动所有配置,我是否需要一个Global.asax.cs文件?

例如,在一个全新的ASP.NET MVC 5应用程序中,使用MVC w /个人帐户模板,如果我删除Global.asax.cs该类并将其配置代码移动到Startup.cs Configuration()方法如下,有什么缺点?

public partial class Startup
{
     public void Configuration(IAppBuilder app)
     {
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);

        ConfigureAuth(app);
    }
}
Run Code Online (Sandbox Code Playgroud)

对我来说,好处是,当将ASP.NET 4应用程序升级到ASP.NET 5并使用现在必须在Startup.cs类中配置的部分时,我不会在两个看起来相关的不同类中进行依赖注入和其他配置启动和配置.

c# asp.net asp.net-mvc owin asp.net-mvc-5

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

警告:检测到多个合并碱基。显示的提交列表可能不完整

Azure Repos中,我创建了从分支 A 到分支 B的 PR。没有显示任何合并冲突。但我最终收到了警告消息

警告:检测到多个合并碱基。显示的提交列表可能不完整。

错误截图

这是什么意思?

git azure-devops azure-repos

154
推荐指数
6
解决办法
9万
查看次数

当输入验证失败时,Angularjs会阻止表单提交

我正在使用angularjs编写一个简单的登录表单,其中包含一些客户端输入验证,以检查用户名和密码是否为空且超过三个字符.请参阅以下代码:

<form name="loginform" novalidate ng-submit="login.submit()" class="css-form">
    <fieldset>

        <div class="control-group input-prepend">
            <span class="add-on"><i class="icon-user"></i></span>
            <input type="text" ng-model="login.username" name="username" required ng-minlength="3" placeholder="username" />
        </div>

        <div class="control-group input-prepend">
            <span class="add-on"><i class="icon-lock"></i></span>
            <input type="password" ng-model="login.password" name="password" required ng-minlength="3" placeholder="" />
        </div>

        <div class="control-group">
            <input class="btn" type="submit" value="Log in">
        </div>

    </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

和控制器:

var controller = function($scope) {

    $scope.login = {
        submit: function() {

            Console.info($scope.login.username + ' ' + $scope.login.password);
        }
    }

};
Run Code Online (Sandbox Code Playgroud)

问题是login.submit即使输入无效,也会调用该函数.是否有可能阻止这种行为?

作为旁注,我可以提一下,我也使用bootstrap和requirejs.

validation angularjs

152
推荐指数
5
解决办法
15万
查看次数

HttpClient可以安全地同时使用吗?

在我可以找到的所有示例中HttpClient,它用于一次性呼叫.但是,如果我有一个持久的客户端情况,可以同时进行多个请求怎么办?基本上,client.PostAsync对同一个实例一次调用2个线程是安全的HttpClient.

我不是在寻找实验结果.作为一个工作示例可能只是一个侥幸(并且持久的),一个失败的例子可能是一个错误的配置问题.理想情况下,我正在寻找HttpClient中并发处理问题的一些权威答案.

.net concurrency c#-4.0 dotnet-httpclient

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

测量代码执行时间

我想知道程序/功能/订单需要多长时间才能完成测试.

这是我做的,但我的方法是错误的'因为如果秒的差异为0则无法返回经过的毫秒:

请注意,睡眠值为500毫秒,因此经过的秒数为0,则无法返回毫秒数.

    Dim Execution_Start As System.DateTime = System.DateTime.Now
    Threading.Thread.Sleep(500)

    Dim Execution_End As System.DateTime = System.DateTime.Now
    MsgBox(String.Format("H:{0} M:{1} S:{2} MS:{3}", _
    DateDiff(DateInterval.Hour, Execution_Start, Execution_End), _
    DateDiff(DateInterval.Minute, Execution_Start, Execution_End), _
    DateDiff(DateInterval.Second, Execution_Start, Execution_End), _
    DateDiff(DateInterval.Second, Execution_Start, Execution_End) * 60))
Run Code Online (Sandbox Code Playgroud)

有人能告诉我更好的方法吗?也许有一个TimeSpan

解决方案:

Dim Execution_Start As New Stopwatch
Execution_Start.Start()

Threading.Thread.Sleep(500)

MessageBox.Show("H:" & Execution_Start.Elapsed.Hours & vbNewLine & _
       "M:" & Execution_Start.Elapsed.Minutes & vbNewLine & _
       "S:" & Execution_Start.Elapsed.Seconds & vbNewLine & _
       "MS:" & Execution_Start.Elapsed.Milliseconds & vbNewLine, _
       "Code execution time", MessageBoxButtons.OK, …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net datetime timespan

104
推荐指数
6
解决办法
14万
查看次数

X-Frame-Options允许来自多个域

我有一个asp.net 4.0 IIS7.5站点,我需要使用x-frame headers选项进行保护

我还需要启用我的网站页面来自我的同一个域以及我的Facebook应用程序.

目前,我的网站配置了以下网站:

Response.Headers.Add("X-Frame-Options", "ALLOW-FROM SAMEDOMAIN, www.facebook.com/MyFBSite")
Run Code Online (Sandbox Code Playgroud)

当我用Chrome或FireFox查看我的Facebook页面时,我的网站页面(与我的Facebook页面一起被设置)显示正常,但在IE9下,我收到错误

"此页面无法显示......"(因为X-Frame_Options限制).

如何设置X-Frame-Options: ALLOW-FROM支持多个域?

X-FRAME-OPTION 如果只能定义一个域,那么作为一个新功能似乎存在根本缺陷.

asp.net security iis-7 header internet-explorer-9

89
推荐指数
4
解决办法
14万
查看次数

C#:如果从多个线程调用静态方法怎么办?

在我的应用程序中,我有一个静态方法,可以同时从多个线程调用.我的数据是否存在混淆的危险?

在我的第一次尝试中,该方法不是静态的,我正在创建该类的多个实例.在那种情况下,我的数据以某种方式混淆了.我不确定这是怎么发生的,因为它有时只会发生.我还在调试.但是现在这个方法是静态的,到目前为止我没有问题.也许这只是运气.我不确定.

c# static multithreading

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

无法使用Unity将依赖项注入ASP.NET Web API控制器

有没有人使用IoC容器运行将依赖项注入ASP.NET WebAPI控制器?我似乎无法让它发挥作用.

这就是我现在正在做的事情.

在我的global.ascx.cs:

    public static void RegisterRoutes(RouteCollection routes)
    {
            // code intentionally omitted 
    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);

        IUnityContainer container = BuildUnityContainer();

        System.Web.Http.GlobalConfiguration.Configuration.ServiceResolver.SetResolver(
            t =>
            {
                try
                {
                    return container.Resolve(t);
                }
                catch (ResolutionFailedException)
                {
                    return null;
                }
            },
            t =>
            {
                try
                {
                    return container.ResolveAll(t);
                }
                catch (ResolutionFailedException)
                {
                    return new System.Collections.Generic.List<object>();
                }
            });

        System.Web.Mvc.ControllerBuilder.Current.SetControllerFactory(new UnityControllerFactory(container)); 

        BundleTable.Bundles.RegisterTemplateBundles();
    }

    private static IUnityContainer BuildUnityContainer()
    {
        var container = new UnityContainer().LoadConfiguration();

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

我的控制器工厂:

public class …
Run Code Online (Sandbox Code Playgroud)

.net c# unity-container asp.net-web-api

81
推荐指数
4
解决办法
9万
查看次数

如何在hubpipleline之外使用SignalR hub实例

我正在使用SignalR向所有客户广播消息.我需要在我的集线器类之外触发广播,如下所示:

var broadcast = new chatHub(); broadcast.Send("Admin","stop the chat");

我收到错误消息:

不支持使用不是由HubPipeline创建的Hub实例.

signalr signalr-hub

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