运行 客户端的 c# 代码或使 Web 会话交互?
Run c# code on client side or make a web session interactive?
我正在用 c# 制作一个用于签署 PDF 的应用程序。它在我的 visual studio web 项目上完美运行,但是当我在我的测试服务器上发布它时,它会抛出这个 Error
在这种情况下,我试图在服务器上执行签署 pdf 的代码,错误发生在以下行:
System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature()
它应该会在您的桌面上抛出一个 window 请求您的证书(读取智能卡),然后像这样请求您的 PIN
Windows Security Window 但我有预感这是不可能的,因为这意味着服务器必须能够与客户端的桌面进行交互
好的,既然我已经解释了我面临的所有环境,下面是我到目前为止尝试过的解决方案:
1) 尝试更正上面的服务器错误:我在服务器中转到 IIS>应用程序池>MyPage>高级设置>进程模型>加载用户配置文件并选择 True 而不是 False (Didn不工作)
2) 仍在尝试更正服务器错误我转到计算机管理>服务和应用程序>服务并打开服务 "Interactive Service Detection"(仍然不工作,甚至不工作如果我在客户端计算机上做同样的事情)
3) 最后,我猜想不可能 运行 服务器上的代码,因为上面的错误行是 Windows 安全性的本机调用所以我想:如果我尝试运行 来自客户端的代码?就像一个 c# applet 等价物或其他东西,好吧......有两种方法可以做到这一点:ActiveX(旧技术)和 Silverlight(更新)。问题是我不能让一个简单的 Silverlight 程序在 chrome 上启动,它在 firefox 和 IE 上可以,但如果在 chrome 上不起作用完全是浪费,所以我最后的选择是使用 ActiveX 使其 运行,互联网上几乎有 none 有用的信息
如果有人能告诉我该怎么做,要么纠正错误,要么从客户端制作我的程序运行,我将不胜感激
您不能从 Web 客户端调用系统的 api,因为这会破坏沙箱。如果您必须使用该系统调用,请在服务器上创建一个包装器来处理弹出窗口,尽管这将是一个非常 "hacky" 的解决方案。如果我必须使用所述本机系统调用,你真的应该问我为什么要尝试使用 Web 客户端界面。
我正在用 c# 制作一个用于签署 PDF 的应用程序。它在我的 visual studio web 项目上完美运行,但是当我在我的测试服务器上发布它时,它会抛出这个 Error
在这种情况下,我试图在服务器上执行签署 pdf 的代码,错误发生在以下行:
System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature()
它应该会在您的桌面上抛出一个 window 请求您的证书(读取智能卡),然后像这样请求您的 PIN Windows Security Window 但我有预感这是不可能的,因为这意味着服务器必须能够与客户端的桌面进行交互
好的,既然我已经解释了我面临的所有环境,下面是我到目前为止尝试过的解决方案:
1) 尝试更正上面的服务器错误:我在服务器中转到 IIS>应用程序池>MyPage>高级设置>进程模型>加载用户配置文件并选择 True 而不是 False (Didn不工作)
2) 仍在尝试更正服务器错误我转到计算机管理>服务和应用程序>服务并打开服务 "Interactive Service Detection"(仍然不工作,甚至不工作如果我在客户端计算机上做同样的事情)
3) 最后,我猜想不可能 运行 服务器上的代码,因为上面的错误行是 Windows 安全性的本机调用所以我想:如果我尝试运行 来自客户端的代码?就像一个 c# applet 等价物或其他东西,好吧......有两种方法可以做到这一点:ActiveX(旧技术)和 Silverlight(更新)。问题是我不能让一个简单的 Silverlight 程序在 chrome 上启动,它在 firefox 和 IE 上可以,但如果在 chrome 上不起作用完全是浪费,所以我最后的选择是使用 ActiveX 使其 运行,互联网上几乎有 none 有用的信息
如果有人能告诉我该怎么做,要么纠正错误,要么从客户端制作我的程序运行,我将不胜感激
您不能从 Web 客户端调用系统的 api,因为这会破坏沙箱。如果您必须使用该系统调用,请在服务器上创建一个包装器来处理弹出窗口,尽管这将是一个非常 "hacky" 的解决方案。如果我必须使用所述本机系统调用,你真的应该问我为什么要尝试使用 Web 客户端界面。