程序发布前,跑在vs上是没问题的,当发布后,程序就报错了。通过系统日志找到了错误所在:证书调用时出现了异常。原因是:在IIS上调用证书是需要配置的,具体配置如下:

一. 确保证书已安装

1. 点击 [开始] -> [运行] -> 键入[mmc]  进入“控制台”界面 -> 选择[文件] -> [添加/删除管理单元]

2.  选择[证书] -> [计算机账户] -> [下一步] -> [完成]

3. 选择[个人] -> [证书] -> [所有任务] -> [导入]  。如果证书已存在则跳过此步骤,不用做导入操作。

二. 修改IIS上对应项目的程序池标识

1. 打开IIS -> 选择[应用程序池] -> 选中对应的项目 -> 选择右侧的[高级设置]

2. 找到[进程模型] -> 修改[标识]属性值

3. 将 ApplicationPoolIdentity 修改为 NetworkService

三. 对证书进行授权

1. 下载并安装 winhttpcertcfg.exe 工具(Windows HTTP Services Certificate Configuration Tool)。安装完成后该工具在 C:\Program Files (x86)\Windows Resource Kits\Tools 或者 C:\Program Files\Windows Resource Kits\Tools 文件夹下。

2. 打开[开始] -> [运行] ->键入[cmd]

3. 在控制台中输入指令 cd C:\Program Files (x86)\Windows Resource Kits\Tools 按[回车]键,进入工具所在目录

4. 进入指定目录后,输入指令 winhttpcertcfg -g -c LOCAL_MACHINE\MY -s "证书名称" -a "IIS程序池标识"

5. 按[回车]键,执行指令

成功后结果如下图:

关于指令的一点说明:

winhttpcertcfg -g -c LOCAL_MACHINE\MY -s "证书名称" -a "IIS程序池标识"

-g 代表授权

-c 代表证书在计算机上安装存储位置

-s "证书的名称"  (证书名称如何查看?如下图:)

-a "IIS程序池标识"  (上面我们将iis程序池标识改成了NetworkService) 所以是 -a "NetworkService"

参考博文:记ASP.NET 使用 X509Certificate2 出现的一系列问题

IIS 下调用证书出现异常解决方案 (C#)的更多相关文章

  1. Android 音乐播放器之--错误状态下调用导致的异常

    MediaPlayer必须在合适的状态下调用合适的方法,否则会出现异常,下面列出常见错误信息和说明: 1.E/MediaPlayer(11310): stop called in state 1 调用 ...

  2. NET环境下的未处理异常(unhandled exception)的解决方案

    NET环境下的未处理异常(unhandled exception )的解决方案 .Net 框架提供了非常强大的异常处理机制,同时对一些非托管代码很难控制的系统问题比如指针越界,内存泄漏等提供了很好的解 ...

  3. C#“必须先将当前线程设置为单个线程单元(STA)模式方可进行OLE调用”异常解决方案

    关于这类问题网上搜索会有很多解决方案,但基本的意思都相差不大,大致问题出于启用线程时调用类似剪贴板Clipboard.SetDataObject出错,我把我的测试代码展现下: 解决方案:只需将thre ...

  4. 在IIS下部署SSL证书实现HTTPS

    在IIS下部署SSL证书实现HTTPS   HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版.谷歌已经制定了一项长远的计划,它的最终目标是将所有通过HTTP协议呈现的网页标为“不安全” ...

  5. IIS部署SSL证书后提示不可信的解决方案

    IIS部署SSL证书后提示不可信的解决方案   本帖最后由 wosign-support3 于 2015-7-17 17:18 编辑 第一步:打开mmc——点击文件——添加删除管理单元——证书——计算 ...

  6. windows下基于IIS配置ssl证书遇到的坑

    前几天配置windows下基于IIS配置ssl证书 完全按照步骤执行 绑定https网址后,一直显示:无法访问此网站 检查了443端口,还有防火墙限制,没发现什么 足足困扰了我好几天 后来突然想到前不 ...

  7. MVC图片上传详解 IIS (安装SSL证书后) 实现 HTTP 自动跳转到 HTTPS C#中Enum用法小结 表达式目录树 “村长”教你测试用例 引用provinces.js的三级联动

    MVC图片上传详解   MVC图片上传--控制器方法 新建一个控制器命名为File,定义一个Img方法 [HttpPost]public ActionResult Img(HttpPostedFile ...

  8. IIS下发布关于Excel导入导出时遇到的问题集锦(转)

    问题描述 1.Excel每个工作薄(sheet)生成记录行数 2.asp.net关于导出Excel的一些问题的集锦 3.下载失败,临时文件或其所在磁盘不可写 4.未能加载文件或程序集“Microsof ...

  9. 解决在IIS中调用Microsoft Office Excel组件后进程无法正常退出的问题

    来源:http://www.cnblogs.com/ahui/archive/2013/03/05/2944441.html 有一个项目用到Excel组件产生报表,本以为这个通用功能是个很简单的cas ...

随机推荐

  1. Eclipse连接MuMu模拟器 方便 测试 查日志

    Eclipse连接MuMu模拟器 方便 测试 查日志 问题由来 真机测试麻烦(首先你得拿一部手机,然后在用数据线连接电脑和手机...) 解决流程 确保打开MuMu模拟器和Eclipse的DDMS功能 ...

  2. 主成分分析(PCA)原理详解(转载)

    一.PCA简介 1. 相关背景 上完陈恩红老师的<机器学习与知识发现>和季海波老师的<矩阵代数>两门课之后,颇有体会.最近在做主成分分析和奇异值分解方面的项目,所以记录一下心得 ...

  3. vtk文件编写

    在paraview中加载vtk文件,可以很好的显示三维空间图像,如下cpp代码: #include <iostream> #include <fstream> #include ...

  4. Java模式—简单工厂模式

    简单工厂模式:是由一个工厂对象决定创建出哪一种产品类的实例,简单工厂模式是工厂模式家族中最简单实用的模式. 目的:为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的. ...

  5. 改善android性能工具篇【zipalign】

    什么是Zipalign?      Zipalign是一个android平台上整理APK文件的工具,它首次被引入是在Android 1.6版本的SDK软件开发工具包中.它能够对打包的Android应用 ...

  6. Redis for Windows

    要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); redis64-2.8.17 下载地址 环境下载 什么是Redis redis是一个key-value存储系统.和Me ...

  7. 扩容swap空间

    添加swap空间 适用场景: 安装系统时未分区swap,完成安装后又需使用swap的 swap空间不足,需要扩容 解决方法: 一.添加磁盘作为swap使用 添加磁盘 [root@test ~]# fd ...

  8. SpringBoot学习(二)——Spring的Java配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 一.@Configuration 和 @Bean Spring的Java配置方式是通过@Configuration和@Bean ...

  9. 解析Resources.arsc

    一.前言 对于APK里面的Resources.arsc文件大家应该都知道是干什么的(不知道的请看我的另一篇文章Android应用程序资源文件的编译和打包原理),它实际上就是App的资源索引表.下面我会 ...

  10. Dicom图像解析

    医疗图像解析 Dicom 后缀: .dcm..DCM Dicom中规定的坐标系是以人坐标系为绝对坐标系的,规定X轴正向指向病人的左侧,Y轴正向指向病人的背部,Z轴正向指向病人的头部.但是,坐标点的位置 ...