小编squ*_*808的帖子

SourceTree和Stash:无法获得本地颁发者证书

我们在Windows 2008R2服务器上安装了Atlassian Stash,而且大多数情况下一切都运行良好.我们有一个由我们的本地内部部署CA颁发的SSL证书和一个DNS条目设置,所以我们可以去https://stash/,它工作得非常好,除了在Firefox中它会发出警告(相关?).

当使用Atlassian的Sourcetree时,我们可以导航并选择一个存储库,但是当我们尝试克隆它时,我们会收到以下错误:

致命:无法访问https://user@url/scm/etc/etc.git:SSL证书问题:无法获得本地颁发者证书

如果我尝试从git bash尝试,我也会得到同样的错误.根据这个错误,我已经尝试按照将他们的网站上的SSL证书添加到Git 的说明,包括评论中的内容,但无济于事.我已经通过Firefox和MMC证书管理单元导出了证书,获得了相同的结果并将其放在自己的文件中,与curl文件结合使用,无论是什么不断出现此错误.我还没有尝试使用SSH密钥,因为我希望能让我的团队更容易.

我也尝试过使用ssh myserver并接受连接,然后输入密码重新启动; 仍然是同样的错误.

我也不想简单地忽略证书验证,因为那似乎有点无意义.

如何使用我们的CA颁发的证书?

git bitbucket ssl-certificate bitbucket-server atlassian-sourcetree

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

如何使用Task <List <T >>模拟返回Task <IEnumerable <T >>的方法?

我正在尝试设置一个单元测试初始化​​器(在Moq中),其中一个接口方法被模拟:

public interface IRepository
{
    Task<IEnumerable<myCustomObject>> GetSomethingAsync(string someStringParam);
}

...

[TestInitialize]
public void Initialize()
{
    var repoMock = new Mock<IRepository>();

    var objectsList = new List<myCustomObject>() {
        new myCustomObject("Something"), 
        new myCustomObject("Otherthing")
    }

    repoMock.Setup<Task<IEnumerable<myCustomObject>>>(
        rep => rep.GetSomethingAsync("ThisParam")
    ).Returns(Task.FromResult(objectsList)); //error here
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我无法弄清楚如何让方法返回我的方法objectsList.在实践中,这当然可以正常工作,因为List实现了IEnumerable,但是当它包含在Moq中的Task中时它似乎不起作用.我得到的错误是在Returns()方法上:

Argument 1: cannot convert from 'System.Threading.Tasks.Task<
  System.Collections.Generic.List<myCustomObject>>'
to 'System.Threading.Tasks.Task<
  System.Collections.Generic.IEnumerable<myCustomObject>>'
Run Code Online (Sandbox Code Playgroud)

作为一种解决方法,我可以创建另一个简单地创建List<myObj>并返回它的方法IEnumerable<myObj>,但我觉得必须有另一种方法来处理这个更干净的方法.

那么,如何在不创建辅助方法的情况下完成此操作?

c# unit-testing moq

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

Python多处理 - 只是没有得到它

我花了一些时间试图理解多处理,虽然它的细节避开了我未经训练的头脑.我已经能够得到一个池来返回一个简单的整数,但如果该函数不仅仅返回一个结果,就像我可以找到的所有例子一样(即使在文档中,这是一个不起眼的例子,我也不太明白.

这是一个我正在努力工作的例子.但是,我不能按预期工作,我确信这有一个简单的原因.我可能需要使用队列或共享内存或管理器,但是当我阅读文档时,我似乎无法将我的大脑包围在它实际意味着什么以及它做什么.到目前为止,我所能了解的是泳池功能.

另外,我正在使用一个类,因为我需要避免使用全局变量,就像在这个问题的答案中一样.

import random

class thisClass:
    def __init__(self):
        self.i = 0

def countSixes(myClassObject):
    newNum = random.randrange(0,10)
    #print(newNum) #this proves the function is being run if enabled
    if newNum == 6:
        myClassObject.i += 1

if __name__ == '__main__':
    import multiprocessing
    pool = multiprocessing.Pool(1) #use one core for now

    counter = thisClass()

    myList = []
    [myList.append(x) for x in range(1000)]

    #it must be (args,) instead of just i, apparently
    async_results = [pool.apply_async(countSixes, (counter,)) for i in myList] …
Run Code Online (Sandbox Code Playgroud)

python pool multiprocessing python-2.7 python-3.x

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

PowerShell 中的 Word.Application ComObject 错误

我无法使用 Powershell将 Word 2010 (14.0.x) 文档保存为另存为关闭。从网上的所有 tuts 看来,它应该可以与 2.0 一起使用,但我不再拥有它了。

简单案例:

$Path = "C:\MyDoc.docx"
$Word = New-Object -comobject Word.Application
$Word.Visible = $True #Do this to close it out without task manager
$Doc = $Word.Documents.Open($Path)
$Doc.SaveAs($Path)
$Doc.Close()
Run Code Online (Sandbox Code Playgroud)

此时一切正常,直到保存和关闭:

Argument: '1' should be a System.Management.Automation.PSReference. Use [ref].
At line:5 char:1
+ $Doc.SaveAs($Path)
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : NonRefArgumentToRefParameterMsg

Argument types do not match
At line:6 char:1
+ $Doc.Close()
+ ~~~~~~~~~~~~
    + …
Run Code Online (Sandbox Code Playgroud)

powershell comobject powershell-3.0

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

从Dotnet Google API获取用户电子邮件信息

我已经为gData和Drive C#API两个单独的Oauth2实现,分别在OAuth2Parameters和AuthorizationState中存储令牌信息.我能够刷新令牌并将它们用于必要的API调用.我正在寻找一种方法来使用它来获取用户的信息,主要是电子邮件地址或域.

我尝试了演示了以下检索OAuth 2.0凭证,但我发现类似rapsalands'的问题编译错误在这里,说它

can't convert from
'Google.Apis.Authentication.OAuth2.OAuth2Authenticator<
Google.Apis.Authenticatio??n.OAuth2.DotNetOpenAuth.NativeApplicationClient>'
to 'Google.Apis.Services.BaseClientService.Initializer'.
Run Code Online (Sandbox Code Playgroud)

我刚刚抓住了最新版本的Oauth2 api dll,所以我不认为就是这样.

我正在使用UserInfo API提到的所有其他代码 示例,但我找不到任何类型的C#/ dotnet api,我可以使用它而不需要直接执行GET/POST请求.

有没有办法使用我已经拥有的一个C#apis的令牌获取此信息而不会发出新的HTTP请求?

.net c# gdata google-drive-api

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

在执行C#自定义Cmdlet期间收集用户输入(而不是通过参数)

我正在编写与Google Apps API接口并需要Oauth2身份验证的Cmdlet.如果用户尝试在未经过身份验证的情况下运行Cmdlet,并且不仅仅是刷新令牌,我还需要他们输入从浏览器提供的访问代码.(这一切都得到了解决.)我想在必要时暂停cmdlet,等待他们的输入,然后只有经过验证才能继续.

但是,我现在只能通过抛出一个错误来退出当前的Cmdlet,然后指示用户将访问代码作为参数传递给另一个Cmdlet(clunky).

我一直在寻找一种方法来调用类似C#的Console.Readline(这只是在执行cmdlet时跳过)或尝试调用Read-Host cmdlet ; 一旦我从用户那里获得访问代码,代码就可以继续正常执行.我知道它不一定是'Powershell Way',但是为了这些工具,我觉得它是用户的最佳选择.

如果我尝试这种方法:

ReadHostCommand read = new ReadHostCommand();
read.prompt = "Access Code";
foreach (string s in read.Invoke<string>()) {
    WriteObject(s);
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:无法直接调用从PSCmdlet派生的Cmdlet.

搜索该错误导致我尝试创建一个新的 Host对象,如下所示我得到另一个错误(也是如下):

PowerShell ps = PowerShell.Create();
ps.AddCommand("Read-Host");
foreach (PSObject result in ps.Invoke()) {
    WriteObject(result);
}
Run Code Online (Sandbox Code Playgroud)

Read-Host:由于主机程序或命令类型不支持用户交互而提示用户失败的命令.尝试支持用户交互的主机程序(如Windows PowerShell控制台或Windows PowerShell ISE),并从不支持用户交互的命令类型(如Windows PowerShell工作流)中删除与提示相关的命令.

有没有办法暂停cmdlet从用户获取字符串?

编辑:为了澄清,我正在编写Cmdlet以在Powershell控制台或ISE或类似程序中运行,并且需要从用户mid-cmdlet执行中获取输入.

c# powershell input cmdlet

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