Как определить 32 бита по сравнению с используемым ASP.NET на 64 бита?

После того как Вы отбросили все таблицы (и индексы исчезнут, когда таблица пойдет), затем нет ничего в базе данных SQLite насколько я знаю, хотя файл, кажется, не уменьшается (от быстрого теста, я просто сделал).

Настолько удаляющий файл, казалось бы, был бы самым быстрым - он должен просто быть воссоздан, когда Ваше приложение пытается получить доступ к файлу дб.

5
задан David Basarab 10 September 2009 в 19:43
поделиться

3 ответа

Самый простой способ сделать это:

Int32 addressWidth = IntPtr.Size * 8;

, поскольку IntPtr.Size составляет 4 байта для 32-битной архитектуры и 8 байтов для 64-битной архитектуры .

2
ответ дан 14 December 2019 в 08:55
поделиться

Вы можете использовать PInvoke

Это пример кода, найденный здесь .

private enum Platform
{
    X86,
    X64,
    Unknown
}

internal const ushort PROCESSOR_ARCHITECTURE_INTEL = 0;
internal const ushort PROCESSOR_ARCHITECTURE_IA64 = 6;
internal const ushort PROCESSOR_ARCHITECTURE_AMD64 = 9;
internal const ushort PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF;

[StructLayout(LayoutKind.Sequential)]
internal struct SYSTEM_INFO
{
    public ushort wProcessorArchitecture;
    public ushort wReserved;
    public uint dwPageSize;
    public IntPtr lpMinimumApplicationAddress;
    public IntPtr lpMaximumApplicationAddress;
    public UIntPtr dwActiveProcessorMask;
    public uint dwNumberOfProcessors;
    public uint dwProcessorType;
    public uint dwAllocationGranularity;
    public ushort wProcessorLevel;
    public ushort wProcessorRevision;
};

[DllImport("kernel32.dll")]
internal static extern void GetNativeSystemInfo(ref SYSTEM_INFO lpSystemInfo);        

private static Platform GetPlatform()
{
    SYSTEM_INFO sysInfo = new SYSTEM_INFO();
    GetNativeSystemInfo(ref sysInfo);

    switch (sysInfo.wProcessorArchitecture)
    {
        case PROCESSOR_ARCHITECTURE_AMD64:
            return Platform.X64;

        case PROCESSOR_ARCHITECTURE_INTEL:
            return Platform.X86;

        default:
            return Platform.Unknown;
    }
}
1
ответ дан 14 December 2019 в 08:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: