小编s d*_*s d的帖子

你的PowerShell`profile.ps1`文件中有什么?

您的个人资料中包含哪些基本内容(功能,别名,启动脚本)?

powershell

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

如何从32位WOW进程获取Program Files文件夹路径(不是Program Files(x86))?

我需要从32位WOW进程获取本机(而不是WOW)程序文件目录的路径.

当我将CSIDL_PROGRAM_FILES(或CSIDL_PROGRAM_FILESX86)传递给SHGetSpecialFolderPath时,它返回WOW(Program Files(x86))文件夹路径.

如果可能的话,我宁愿避免使用环境变量.

我想比较一下我从注册表中读取的一些值,如果值指向我的应用程序的WOW或本机版本的路径,那么我的代码会执行某些操作,否则它会执行其他操作.要弄清楚我的应用程序的原生和WOW版本应该在哪里,我需要获得"Program Files(x86)"和"Program Files"的路径.

c++ windows 64-bit

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

BeginXXX中的FromAsync参数太多了?

我有一个带有以下签名的异步方法:

IAsyncResult BeginGetMyNumber(string foo, string bar, string bat, int bam, AsyncCallback callback, object state)
Run Code Online (Sandbox Code Playgroud)

我想使用Factory.FromAsync执行它,如下所示:

var result  = Task<int>.Factory.FromAsync(
                instance.BeginGetMyNumber, 
                instance.EndGetMyNumber, 
                "foo",
                "bar",
                "bat",
                100, /*bam*/
                null);
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

参数1:无法从'方法组'转换为'System.Func'

似乎没有合适的重载FromAsync方法http://msdn.microsoft.com/en-us/library/system.threading.tasks.taskfactory.fromasync.aspx,它只支持最多5个参数(包括回调和状态)在BeginXXX方法上.

除了重构BeginXXX方法以获取对象而不是六个参数之外,有没有办法使用FromAsync执行它?

c# asynchronous iasyncresult

15
推荐指数
3
解决办法
2473
查看次数

反序列化使得字段是空列表而不是空

如果我有这样的课程:

[DataContract(Name = "", Namespace = "")]
public class MyDataObject
{
    [DataMember(Name = "NeverNull")]
    public IList<int> MyInts { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当下列字符串被反序列化时,有没有办法让MyInts字段成为非空的空列表?

string serialized = @"{""NeverNull"":null}";

MyDataObject myDataObject = JsonConvert.DeserializeObject<MyDataObject>(serialized);
Run Code Online (Sandbox Code Playgroud)

我正在使用Newtonsoft.Json

我想问的原因是,我有一个相当复杂的JSON请求解析,它包含对象列表的巢,我想反序列化的代码来创建这些对象,以便我能避免大量的无效检查:

if (foo.bar != null)
{
    foreach (var bar in foo.bar)
    {
        if (bar.baz != null)
        {
            foreach (var baz in bar.baz)
            {
                ...
Run Code Online (Sandbox Code Playgroud)

.net c# json json.net deserialization

11
推荐指数
1
解决办法
4031
查看次数

为什么在main()退出之前调用Dispose()?

我的.net服务通过在Main()循环退出之前调用finally块中的resourceName.Dispose()来清除所有非托管资源.

我真的必须这样做吗?

我是否认为我不能泄漏任何资源,因为这个过程正在结束?Windows将关闭任何不再使用的句柄,对吧?

.net c# dispose handle resource-leak

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

Paypal - 默认使用最新的API版本

我希望我的应用程序始终使用最新版本的Paypal API,我的理解是,如果我在NVP集合中未指定"VERSION",则默认情况下将调用最新版本.谁能证实这一点?

paypal

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

如何解析 Newtonsoft JSON 中的 TimeSpan 值

我想解析 JSON 字符串并使用该token.Type属性来检测 type 的值JTokenType.TimeSpan

我不知道如何在我的输入字符串中表达 TimeSpan,一切似乎都被解释为 JTokenType.String。

var timeSpanString = TimeSpan.FromHours(1).ToString();
testString = string.Format(@"{{""Value"": ""{0}"" }}", timeSpanString);
var statObject = JObject.Parse(testString);
JToken token = statObject["Value"];
var tokenValue = token.ToString();
var tokenType = token.Type; // JTokenType.String
Run Code Online (Sandbox Code Playgroud)

我什至试过:

JValue jValue = new JValue("test");
jValue.Value = TimeSpan.FromHours(1);
bool isTimeSpan = jValue.Type == JTokenType.TimeSpan; // true!
testString = string.Format(@"{{""Value"": ""{0}"" }}", jValue.Value);
var statObject = JObject.Parse(testString);
JToken token = statObject["Value"];
var tokenValue = token.ToString();
var tokenType = token.Type; // …
Run Code Online (Sandbox Code Playgroud)

.net c# json timespan json.net

4
推荐指数
1
解决办法
8158
查看次数

依赖注入的问题 - 如何清理我的实现?

我正在使用依赖注入来模拟类,以便对依赖于它们的其他类进行单元测试:

class Foo : IFoo
{
    // production code
}

class MockFoo : IFoo
{
    // mock so other classes that depend on Foo can be unit tested
}

class Bar
{
    public DoSomething()
    {
        var barValue = 20;
        // use dependency injection to get Foo instance.
        DependencyInjection.Instance.Foo.ExampleMethod(barValue);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,设置我的依赖注入类变得笨拙,迷宫和复杂:

public class DependencyInjection
{
    public Setup()
    {
        this.Foo = new Foo();
        this.Bar = new Bar("example constructor string");
        this.Bat = new Bat(123,234);
        // for every single class in my application! …
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing dependency-injection code-cleanup

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

如何在Airflow MsSqlOperator中使用mssql_conn_id?

我正在尝试在Airflow工作流程中使用MsSqlOperator,但无法解决如何设置连接字符串的问题。

我尝试将mssql_conn_id设置为连接字符串本身

t2 = MsSqlOperator(
  task_id='sql-op',
  mssql_conn_id='sa:password@172.17.0.2',
  sql='use results; insert into airflow value("airflow","out")',
  dag=dag)
Run Code Online (Sandbox Code Playgroud)

我得到错误

airflow.exceptions.AirflowException: The conn_id `sa:password@172.17.0.2` isn't defined
Run Code Online (Sandbox Code Playgroud)

所以我想需要定义mssql_conn_id。某处。有任何想法吗?

我可以使用sqlalchemy这样连接到MS SQL数据库:

params = urllib.quote_plus("DRIVER={ODBC Driver 13 for SQL Server};SERVER=172.17.0.2;UID=SA;PWD=password")
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)

conn = engine.connect()
Run Code Online (Sandbox Code Playgroud)

因此我知道服务器已启动并正在运行。

sql-server airflow

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