开发环境 win7 +vs2010+mvc3
我是使用mvc3 开发,在vs调试的时候,可以正常使用,但是发布后,发现调用到对应的dll的时候,网站session就会丢失,然后提示重新登录。
网上找了一下,好像说是调用非托管代码之后,会导致iis相关进程重启。
后来根据网上找到方法,开启 asp.net状态服务 后其他页面正常使用,但是到调用 对应dll的时候,整个网站就挂掉了。
查看系统日志 找到以下提示:
查看日志得到提示如下。为应用程序池“XXXX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误。该进程 ID 为“2760”。数据字段包含错误号。
=======
上网查到可以在组件服务里的IIS Admin Service属性中,在"启动和激活权限"中编辑"自定义",添加帐号"NETWORK SERVICE ",
给该帐号赋予"本地启动"和"本地激活"的权限进行解决。
但是,我找到DCOM 选项,选择IIS ADMIN SERVICE,右键 属性,却发现 所有东西均为只读状态。
dll需要什么特殊的权限吧。
调试时使用的是你当前登录的账号,权限很大
DCOM 选项只对com组件有用,你的dll是com组件吗?
最简单的办法是把你的IIS池的账号设置为管理员,啥都可操作,不过有风险
把IIS池的账号设置为管理员 是指将network service 用户加入到administrators 用户组吗?
由于时间原因。我这边采用了新建另一个控制台应用来监控数据库进行发送短信的方法。
我试过将network service 用户加入到administrators 用户组,但是没有效果。
@红枫星空: network service 是系统的特殊账号,估计不行,直接把IIS的账号设为管理员是最快的