小编Tob*_*oby的帖子

Visual Studio 2017 - Git因致命错误而失败

我正在使用Visual Studio 2017社区版(CE),我已登录到我的Microsoft帐户,并且我已连接到VSTS.我可以看到我的所有项目和存储库,但是当我尝试提取/获取/推送任何更改时,我收到以下错误:

Error encountered while pushing to the remote repository: Git failed with a fatal error.
PushCommand.ExecutePushCommand
Run Code Online (Sandbox Code Playgroud)

因此对于fetch和pull命令也是如此.

我在Visual Studio 2017安装程序上安装了Git for Windows,它不仅无法使用VSTS,我也无法使用任何GitHub存储库.有没有其他人注意到这一点?到目前为止,我的两台机器都发生过这种情况.

Visual Studio 2015企业版(EE)和CE对我来说完全没问题.

似乎这个问题得到了更多的认可,我认为这会让我相信这是Visual Studio如何处理Git的问题.我也注意到每次更新Visual Studio时,这个问题都会重新出现,我必须完成以下一些答案中的步骤才能让Git再次工作.我不确定为什么会这样,我也不知道微软是否打算解决这个问题.

git visual-studio azure-devops visual-studio-2017

134
推荐指数
9
解决办法
14万
查看次数

为什么在必须使用await时使用异步?

我一直坚持这个问题,并没有真正找到任何有用的澄清,为什么会这样.

如果我有一个async像这样的方法:

public async Task<bool> MyMethod()
{
    // Some logic
    return true;
}

public async void MyMethod2()
{
    var status = MyMethod(); // Visual studio green lines this and recommends using await
}
Run Code Online (Sandbox Code Playgroud)

如果我await在这里使用,那么异步方法有什么意义呢?asyncVS告诉我打电话不是没用await吗?这不会破坏将任务卸载到线程而不等待它完成的目的吗?

.net c# asynchronous async-await

26
推荐指数
3
解决办法
5798
查看次数

控制器映射中的ASP.NET MVC枚举参数

ASP.NET MVC为控制器方法提供了简单的模板,例如Details,可以有类似的东西:

public ActionResult Details(int id)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

这可以通过以下方式访问: http://localhost:port/Controller/Details/id

我想要做的是提供不同的类型,如:

public enum MyEnum
{
    All,
    Pending,
    Complete
}
Run Code Online (Sandbox Code Playgroud)

然后我设置我的控制器方法,如:

public ActionResult MyMethod(MyEnum myEnum = MyEnum.Pending)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

这适用于:http://localhost:port/Controller/MyMethod/因为它使用默认参数.

要指定一个不同的参数,我必须做http://localhost:port/Controller/MyMethod?myEnum=All,这是有效的.

我想知道,我可以做http://localhost:port/Controller/MyMethod/All而不是使用?myEnum=All吗?

当试图那样做,我得到一个404例外,这是可以理解,但为什么没有出现这种情况的idDetails

我可以更改MapRoute当前的内容:url: "{controller}/{action}/{id}"允许我使用自己的类型实现它吗?

到目前为止我尝试过的:

我只希望这个路线执行我的一个方案,例如http://localhost:port/Controller/MyMethod/{ViewType},我试过这个但它似乎没有做任何事情:

routes.MapRoute(
    "MyRoute",
    "MyController/Index/{MyEnum}",
    new { controller = "MyController", action = "Pending" }
);
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc routeconfig

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

ASP MVC 5-403 customError不起作用

我正在尝试为我的应用程序创建自定义错误页面,它在大多数情况下都起作用,但对于403错误却不起作用。

我的Web.config:

<customErrors mode="On" defaultRedirect="~/Error">
  <error statusCode="404" redirect="~/Error/NotFound" />
  <error statusCode="500" redirect="~Error/InternalServer" />
  <error statusCode="403" redirect="~Error/Forbidden" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)

我有一个ErrorController委托这些请求。当404点击,它会显示自定义错误页,但403没有。403 - Forbidden即使为它设置了自定义错误页面,我仍在获取默认的IIS 页面。我环顾四周,尝试使用<httpErrors>它来代替,这似乎每次都给我空白页。

这是我Global.asax的帮助吗:

void Application_Error(object sender, EventArgs e)
{
    Exception exc = Server.GetLastError();

    if (exc is HttpUnhandledException)
    {
        // Pass the error on to the error page.
        Server.Transfer("ErrorPage.aspx?handler=Application_Error%20-%20Global.asax", true);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net custom-errors asp.net-mvc-5

3
推荐指数
1
解决办法
1833
查看次数

功能内的功能

我遇到了一些使用如下函数的代码:

func main() {

    ...
    X:
        ...

}
Run Code Online (Sandbox Code Playgroud)

我很困惑这是做什么的.这是我创建的一个例子,试图让我们看看发生了什么,但我不完全明白K它是什么,它是一个闭包吗?一个lambda函数?

package main

import "fmt"

func main() {
    for i:=0; i<10; i++ {
        K: for j:=0; j<10; j++{
            if i*j == 81 {
                fmt.Printf("%v,%v", i, j)
                break;
            } else {
                continue K;
            }
        }
    } 

}
Run Code Online (Sandbox Code Playgroud)

我对Go和函数式编程也很陌生,所以我试图理解这个概念.

go

0
推荐指数
1
解决办法
92
查看次数

为什么Java中的私有成员可以从另一个类修改?

在下面的示例中,即使它是类的私有成员,x也可以按类更改.这是什么原因?BA

import java.util.Date;

class A {

    private Date x;

    public A(){
        super();
        x = new Date();
    }

    public Date getDate(){
        return x;
    }

    public void print(){
        System.out.println(this.x);
    }

}

class B {

    public static void main(String[] args){
    A a = new A();

    a.print();

    Date d = a.getDate();

    d.setMonth(12);

    System.out.println(d);

    a.print();

    }

}
Run Code Online (Sandbox Code Playgroud)

输出是:

Initial date generated by A
Date changed by B
Date changed by B (why does it change a private member here?)
Run Code Online (Sandbox Code Playgroud)

java oop

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