我有一个ASP.净MVC3 C#.NET应用程序在IIS 7.5上运行.

我们在代码中模拟了一个Windows NT服务帐户,以便将文档读/写到文件共享.用户id在代码中编译,服务帐户密码存储在web中.配置文件.

密码包含一个符号和字符(即:p&ssword).

这 destruct 了网站.在访问该站点时,我们收到此错误:"对不起,处理您的请求时出错".

以下是使用密码的代码:

    var password = ConfigurationManager.AppSettings.Get(Common.SVC_PWD);

    bool isSuccess = LogonUser(
        @"my_svc_acct",
        "my.domain.net",
        password,
        LOGON32_LOGON_NEW_CREDENTIALS,
        LOGON32_PROVIDER_DEFAULT, ref token
    );

为什么这会导致网站崩溃?

推荐答案

我怀疑您在web.config文件中没有正确编码密码.请记住,web.config是一个XML文件,因此必须对实体进行编码.

而不是

my&password 

try

my&password

您可以使用诸如FreeFormatter.com这样的站点来转义/取消转义XML字符串.

Asp.net相关问答推荐

Reaction-Native SignalR连接在调试模式下工作,在释放模式下失败

在这个 For 循环计数没有增加

IIS HTTP 错误 500.19

self 跟踪实体与 POCO 实体

IIS Request.UserHostAddress 返回 IPV6 (::1),即使禁用了 IPV6

登录成功后 User.Identity.IsAuthenticated 为 false

ASP.NET 在更新面板更新时显示正在加载...消息

从 JavaScript 读取 web.config

MVC 3视图中的当前上下文中不存在名称'HTML'

在 asp.net 中为动态 PDF 指定文件名

ASP.NET 元:资源键

web.config 中与 targetFramework 相关的配置错误

c# list 如何在两个值之间插入一个新值

HttpContext.Current.Request.Url.Host 它返回什么?

头标记中的内联代码 - ASP.NET

Twitter Bootstrap 和 ASP.NET GridView

将列表转换为 json 格式 - 快速简便的方法

将 html 标记从 jquery 发布调用发送到 asp.net 页面时,从客户端检测到潜在危险的 Request.QueryString 值

IsMobileDevice 是如何工作的?

强制 IIS Express 进入classic 管道模式