小编Rem*_*mko的帖子

试图在非包装中进行相对导入(2to3之后)

在使用2to3(参见我之前的问题)转换为Python 3.x之后,我在构建期间收到此错误:

  File "setup.py", line 28, in <module>
    from . import mof_compiler
ValueError: Attempted relative import in non-package
Run Code Online (Sandbox Code Playgroud)

代码:

from . import mof_compiler
mof_compiler._build()
Run Code Online (Sandbox Code Playgroud)

但我不知道为什么这是错的,因为mof_compiler在同一个目录中setup.py.请帮忙!

python python-2to3 python-3.x

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

自定义身份验证模块仅在凭据存在时调用

我正在实现一些与使用RFC2617扩展的Web服务器对话的代码.为了实现这一点,我实现了一个IAuthenticationManager模块.

我的身份验证模块检查收到的质询是否适用于MyAuth:

    public Authorization Authenticate(String challenge, WebRequest request, ICredentials credentials)
    {

        if (!challenge.Contains(AuthenticationType)) // MyAuth
        {
            {
                return null; 
            }
        }
        ...
        // Get the token, omitted here

        return authorization;
Run Code Online (Sandbox Code Playgroud)

然后我打电话 AuthenticationManager.Register(MyAuthModule);

当WebRequest有UseIntegrated.UseDefaultCredentials = true或请求已添加凭据时,WebRequest.Credentials我的身份验证模块被调用,一切正常.但是,如果WebRequest没有凭据且未使用默认凭据,则不会调用我的授权模块,并且请求失败.

如何在收到质询但WebRequest没有凭据且未使用默认凭据时确保调用我的身份验证模块?

.net c# authentication httpwebrequest

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

将C Union转换为C#(错误对齐)

我想从C#调用DhcpGetClientInfo API,但我有一个关于将此C结构转换为C#的问题:

typedef struct _DHCP_CLIENT_SEARCH_INFO {
  DHCP_SEARCH_INFO_TYPE SearchType;
  union {
    DHCP_IP_ADDRESS ClientIpAddress;
    DHCP_CLIENT_UID ClientHardwareAddress;
    LPWSTR          ClientName;
  } SearchInfo;
} DHCP_SEARCH_INFO, *LPDHCP_SEARCH_INFO;
Run Code Online (Sandbox Code Playgroud)

我认为正确的转换是这样的:

[StructLayout(LayoutKind.Explicit, Size=12)]
public struct DHCP_SEARCH_INFO
{
    [FieldOffset(0)]
    public DHCP_SEARCH_INFO_TYPE SearchType;
    [FieldOffset(4)]
    public DHCP_IP_ADDRESS ClientIpAddress;
    [FieldOffset(4)]
    public DHCP_BINARY_DATA ClientHardwareAddress;
    [FieldOffset(4), MarshalAs(UnmanagedType.LPWStr)]
    public string ClientName;
};
Run Code Online (Sandbox Code Playgroud)

但是这会产生System.TypeLoadException:附加信息:无法从程序集'ConsoleApplication3,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'加载类型'Dhcpsapi.DHCP_SEARCH_INFO',因为它包含偏移量为4的对象字段,即非对象字段错误对齐或重叠.

如果要编译,这是其他类型的转换:

public enum DHCP_SEARCH_INFO_TYPE : uint
{
    DhcpClientIpAddress = 0,
    DhcpClientHardwareAddress = 1,
    DhcpClientName = 2
};

[StructLayout(LayoutKind.Sequential)]
public struct DHCP_BINARY_DATA
{
    public uint DataLength;
    public …
Run Code Online (Sandbox Code Playgroud)

c c# pinvoke winapi

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

从另一个可执行文件调用内部类中的函数

我想从我自己的代码中调用.net可执行文件中的函数.我用反射器看到了这个:

namespace TheExe.Core
{
    internal static class AssemblyInfo
    internal static class StringExtensionMethods
}
Run Code Online (Sandbox Code Playgroud)

在命名空间中,TheExe.Core是我感兴趣的函数:

internal static class StringExtensionMethods
{
    // Methods
    public static string Hash(this string original, string password);
    // More methods...
}
Run Code Online (Sandbox Code Playgroud)

使用此代码我可以看到哈希方法,但我该如何调用它?

Assembly ass = Assembly.LoadFile("TheExe");
Type asmType = ass.GetType("TheExe.Core.StringExtensionMethods");
MethodInfo mi = asmType.GetMethod("Hash", BindingFlags.Public | BindingFlags.Static);
string[] parameters = { "blabla", "MyPassword" };

// This line gives System.Reflection.TargetParameterCountException
// and how to cast the result to string ?
mi.Invoke(null, new Object[] {parameters});
Run Code Online (Sandbox Code Playgroud)

.net c# reflection

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

使用PowerShell在ac#struct中设置值

我已将一些DHCP Win32 Api转换为C#,因此我可以使用PowerShell:

$definition = @"
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Net;

namespace Dhcpsapi
{

    public enum DHCP_SEARCH_INFO_TYPE : int
    {
        DhcpClientIpAddress = 0,
        DhcpClientHardwareAddress = 1,
        DhcpClientName = 2
    };

    [StructLayout(LayoutKind.Sequential)]
    public struct DHCP_BINARY_DATA
    {
        public uint DataLength;
        public IntPtr Data;
    };

    [StructLayout(LayoutKind.Sequential)]
    public struct DHCP_IP_ADDRESS
    {
        public UInt32 IPAddress;
    }

    [StructLayout(LayoutKind.Explicit, Size=8)]
    public struct SearchInfo
    {
        [FieldOffset(0)]
        public DHCP_IP_ADDRESS ClientIpAddress;
        [FieldOffset(0)]
        public DHCP_BINARY_DATA ClientHardwareAddress;
        [FieldOffset(0)]
        public IntPtr ClientName; //LPWSTR
    }

    [StructLayout(LayoutKind.Sequential)]
    public struct DHCP_SEARCH_INFO …
Run Code Online (Sandbox Code Playgroud)

c# powershell pinvoke

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

swap Graphite在Grafana中返回时间戳和值

我正在测试Grafana从Graphite系统读取和绘制数据.

这就是Grafana对Graphite的json数据的预期:

{
  "data": [
    {
      "target": "test-series-0",
      "datapoints": [
        [
          22.504392773143504,
          1.476693264195e+12
        ],
        [
          22.719552781746028,
          1.476693301825e+12
        ]
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想从中读取数据的系统,交换时间戳和度量值,例如

{
  "data": [
    {
      "target": "test-series-0",
      "datapoints": [
        [
          1.476693264195e+12
          22.504392773143504,
        ],
        [
          1.476693301825e+12
          22.719552781746028,
        ]
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

截图 是否可以创建一个新的数据源(来自默认石墨数据源的副本),在处理之前将值交换回来或按原样使用值?

我查看了.js文件,但我发现很难确定我需要进行哪些更改,所以任何指针都很受欢迎!

编辑:我试过这个:我已经制作了默认的Graphite插件的副本,并将其重命名为graphite-copy并调整了id plugin.json.

然后我编辑datasource.jsdatasource.ts喜欢这样:

   var e = {
    method: "POST",
    url: "/render",
    data: d.join("&"),
    headers: {
     "Content-Type": "application/x-www-form-urlencoded"
    }
   };
   return a.panelId && (e.requestId = this.name + ".panelId." + a.panelId), this.doGraphiteRequest(e).then(this.convertDataPointsToMs) …
Run Code Online (Sandbox Code Playgroud)

javascript graphite grafana

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

在Build Configuration中设置调试器语言异常(忽略)

在工具| 选项| 调试器选项| 语言异常可以忽略特定的异常类型.是否可以为每个项目定义此项?例如,在Debug Build Configuration(Delphi 2009和/或2010)中?

/编辑:在QC中报告

delphi debugging exception

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

WPF .NET 中未触发 BeforeNavigate2 的解决方法

我需要使用 System.Windows.Controls.WebBrowser 控件为我传输的每个请求发送标头。使用 C# 和 .Net,由于这里描述的错误,BeforeNavigate2 事件不会被触发,该事件可以帮助我通过引用调用参数,并且错误报告中描述的 BeforeNavigate 事件对我没有帮助,因为它的参数是只读的。

这里描述的解决方案很难甚至不可能使用,因为我有很多对控件 Web 浏览器的引用,这些引用必须解决,引导通过该项目中的现有接口和其他库。

就像在描述的解决方案中一样,拥有一个可以在外部设置的固定字符串就足够了,但我需要使用控件 Web 浏览器设置标题的解决方案。有没有一种解决方案可以在不使用 Forms 的情况下满足我的要求?

.net wpf events webbrowser-control

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

如何使用 dbghlp 和 pdb 获取结构的字段名称和偏移量

我想以与 windbg 的 dt 命令相同的方式转储结构的字段和偏移量。例如,假设我想转储 Microsoft 公共符号中的 _PEB 结构(因为 windbg 的 DT 命令有效)。

从 MSDN 文档中我了解到 SymFromName 函数应该能够做到这一点,下面是我尝试过的代码,该代码在 SymFromName 上失败,LastError 126(找不到指定的模块)。从注册的回调我得到以下输出:

CBA_SET_OPTIONS
CBA_SET_OPTIONS
CBA_SET_OPTIONS
CBA_EVENT: code 0 desc DBGHELP: Symbol Search Path: symsrv*symsrv.dll*C:\Symbols*http://msdl.microsoft.com/download/symbols

DBGHELP: Symbol Search Path: symsrv*symsrv.dll*C:\Symbols*http://msdl.microsoft.com/download/symbols

CBA_DEFERRED_SYMBOL_LOAD_START: C:\Windows\Sysnative\ntdll.dll
CBA_DEFERRED_SYMBOL_LOAD_PARTIAL: C:\Windows\Sysnative\ntdll.dll
CBA_EVENT: code 0 desc DBGHELP: No header for C:\Windows\Sysnative\ntdll.dll.  Searching for image on disk

DBGHELP: No header for C:\Windows\Sysnative\ntdll.dll.  Searching for image on disk

CBA_EVENT: code 0 desc DBGHELP: C:\Windows\Sysnative\ntdll.dll - OK

DBGHELP: C:\Windows\Sysnative\ntdll.dll - OK

CBA_DEFERRED_SYMBOL_LOAD_COMPLETE: C:\Windows\Sysnative\ntdll.dll …
Run Code Online (Sandbox Code Playgroud)

windows delphi windbg dbghelp pdb-files

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

直接访问XML中的键值对

鉴于此示例XML数据,是否可以直接访问密钥?

例如:$ xml.root.User_Blob.LogonMethod

<?xml version="1.0" encoding="utf-16"?>
<root>
  <User_Blob>
    <Item>
      <Key>LogonMethod</Key>
      <Value>prompt</Value>
    </Item>
    <Item>
      <Key>ServerURLEntered</Key>
      <Value>http://myserver/config.xml</Value>
    </Item>
    <Item>
      <Key>ServerURLListUsers</Key>
      <Value>
        <LSOption>http://myurl/config.xml</LSOption>
        <LSOption>http://myurl</LSOption>
      </Value>
    </Item>
    <Item>
      <Key>UserDisplayDimensions</Key>
      <Value>fullscreen</Value>
    </Item>
  </User_Blob>
Run Code Online (Sandbox Code Playgroud)

xml powershell

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