在使用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
.请帮忙!
我正在实现一些与使用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没有凭据且未使用默认凭据时确保调用我的身份验证模块?
我想从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) 我想从我自己的代码中调用.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) 我已将一些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) 我正在测试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.js
并datasource.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) 在工具| 选项| 调试器选项| 语言异常可以忽略特定的异常类型.是否可以为每个项目定义此项?例如,在Debug Build Configuration(Delphi 2009和/或2010)中?
/编辑:在QC中报告
我需要使用 System.Windows.Controls.WebBrowser 控件为我传输的每个请求发送标头。使用 C# 和 .Net,由于这里描述的错误,BeforeNavigate2 事件不会被触发,该事件可以帮助我通过引用调用参数,并且错误报告中描述的 BeforeNavigate 事件对我没有帮助,因为它的参数是只读的。
这里描述的解决方案很难甚至不可能使用,因为我有很多对控件 Web 浏览器的引用,这些引用必须解决,引导通过该项目中的现有接口和其他库。
就像在描述的解决方案中一样,拥有一个可以在外部设置的固定字符串就足够了,但我需要使用控件 Web 浏览器设置标题的解决方案。有没有一种解决方案可以在不使用 Forms 的情况下满足我的要求?
我想以与 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) 鉴于此示例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)
c# ×4
.net ×3
delphi ×2
pinvoke ×2
powershell ×2
c ×1
dbghelp ×1
debugging ×1
events ×1
exception ×1
grafana ×1
graphite ×1
javascript ×1
pdb-files ×1
python ×1
python-2to3 ×1
python-3.x ×1
reflection ×1
winapi ×1
windbg ×1
windows ×1
wpf ×1
xml ×1