相关疑难解决方法(0)

调用wkhtmltopdf从HTML生成PDF

我正在尝试从HTML文件创建PDF文件.环顾四周之后我发现:wkhtmltopdf是完美的.我需要从ASP.NET服务器调用此.exe.我试过了:

    Process p = new Process();
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.FileName = HttpContext.Current.Server.MapPath("wkhtmltopdf.exe");
    p.StartInfo.Arguments = "TestPDF.htm TestPDF.pdf";
    p.Start();
    p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

没有成功在服务器上创建任何文件.任何人都可以给我指向正确的方向吗?我将wkhtmltopdf.exe文件放在站点的顶级目录中.应该举行其他任何地方吗?


编辑:如果有人有更好的解决方案从html动态创建PDF文件,请告诉我.

html pdf asp.net pdf-generation wkhtmltopdf

53
推荐指数
7
解决办法
6万
查看次数

C#在Process.Kill()期间只完成了ReadProcessMemory或WriteProcessMemory请求的一部分

我一直在广泛研究这个问题,似乎无法找到答案.

我知道Only part of a ReadProcessMemory or WriteProcessMemory request was completed当32位进程尝试访问64位进程时会抛出异常,而对于64位进程修改32位进程则会抛出异常.

该问题的解决方案是将平台目标更改为"任何CPU".我试过这个,不幸的是这并没有解决我的问题.

下一个代码块是不断抛出异常的原因.运行此代码的程序用于在远程计算机上打开应用程序,并保留程序本身打开的所有进程的列表,这样我就不必遍历所有进程.

Process processToRemove = null;
lock (_runningProcesses)
{
    foreach (Process p in _runningProcesses)
    {
        foreach (ProcessModule module in p.Modules)
        {
            string[] strs = text.Split('\\');

            if (module.ModuleName.Equals(strs[strs.Length - 1]))
            {
                processToRemove = p;
                break;
            }
        }
        if (processToRemove != null)
        {
            break;
        }
    }
    if (processToRemove != null)
    {
        processToRemove.Kill();
        _runningProcesses.Remove(processToRemove);
    }
}
Run Code Online (Sandbox Code Playgroud)

这些过程可以并且很可能是32位和64位混合在一起.

我有什么我不应该做的事情,或者是否有更好的方法来做所有这些?

c# exception process

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

如何在ASP.NET缓存应用程序中超过IIS7的60%内存限制

请原谅,如果这是更多的服务器故障与stackoverflow.它似乎在边境.

我们有一个应用程序,它使用ASP.NET缓存为电子商务应用程序缓存大量产品数据.这是一个包含65K元素的字典对象,我们的计算将对象的大小设置为~10GB.
问题:

  1. 对象消耗的内存量似乎远远超过我们的10GB计算量.

  2. 最大的关注: 我们似乎无法使用服务器中超过60%的32GB.

到目前为止我们尝试过的:

在machine.config/system.web中(sf不允许标记,请原谅格式化):

processModel autoConfig="true" memoryLimit="80"
Run Code Online (Sandbox Code Playgroud)

在web.config/system.web/caching/cache中(sf不允许使用标记,请原谅格式化):

 privateBytesLimit = "20000000000" (and 0, the default of course)
 percentagePhysicalMemoryUsedLimit = "90" 
Run Code Online (Sandbox Code Playgroud)

环境: Windows 2008R2 x64 32GB RAM IIS7

似乎没有什么能让我们超过60%的价值.查看taskman的截图.

http://www.freeimagehosting.net/image.php?7a42144e03.jpg

c# asp.net iis-7 caching

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

标签 统计

asp.net ×2

c# ×2

caching ×1

exception ×1

html ×1

iis-7 ×1

pdf ×1

pdf-generation ×1

process ×1

wkhtmltopdf ×1