如何在c#中使用InternetSetOption设置INTERNET_OPTION_MAX_CONNS_PER_SERVER选项?

时间:2013-01-21 13:17:13

标签: c# .net internet-explorer webbrowser-control internetsetoption

我是.NET,c#和Windows编程的新手。我想增加.NET Web浏览器控件可以为每个服务器创建的最大连接数。我发现通过使用wininet.dll中的InternetSetOption函数更改INTERNET_OPTION_MAX_CONNS_PER_SERVER选项,我可以做到这一点。

我已完成以下导入。

[DllImport("wininet.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern bool InternetSetOption(
    IntPtr hInternet,
    int dwOption,
    IntPtr lpBuffer,
    int lpdwBufferLength);

msdn doc,IntPtr lpBuffer应该是unsigned long int。任何人都可以告诉我如何为无符号长整型变量创建IntPtr。

在c#中调用InternetSetOption以将最大连接数设置为50将有所帮助。

PS:我无法使用regedit.exe更改注册表设置来增加连接数

1 个答案:

答案 0 :(得分:0)

[DllImport("WinInet.dll", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)]
internal static extern Boolean InternetSetOption
(
    [In] IntPtr hInternet,
    [In] UInt32 dwOption,
    [In] IntPtr lpBuffer,
    [In] UInt32 lpdwBufferLength
);

试试:

NativeMethods.InternetSetOption(IntPtr.Zero, INTERNET_OPTION_MAX_CONNS_PER_SERVER, 10, 4);

这里你不需要指针。