ASP.NET WebAPI中的模拟和异步
|
更新2 这个问题最初是“模仿是否适用于Web API?” 但问题不在于Web API,而在于模仿本身. (问题的描述如下) 但现在我想告诉其他人解决方案. 我的控制器是异步的,我错误的前提是模拟线程产生的任何线程都与其父线程具有相同的身份. 模拟流程可以启用programmatically or in configuration. 正如this post所述,每个应用程序池都可以设置aspnet.config文件. this post安德鲁亲切地提供了关于更详细的整个任务的链接. 对于那些第一次打开模拟的人,我想要注意IIS 7.5有一个非常好的功能来输入模拟帐户的凭据.配置文件中不需要这些凭据,只能写入. <identity impersonate="true"/> 输入凭据后,它们将自动添加到配置文件中. 原始问题: 我转而模仿并提供了用户凭据. <identity impersonate="true" usernName="foo" password="bar"/> 但是当我通过Entity Framework连接到sql server时,我收到错误“用户{MachineName} $登录失败”.那就是EF在IUSR账户下运行.同时,WindowsIdentity.GetCurrent()返回’foo’用户的身份. 模拟帐户在启用了Windows身份验证的SQL服务器上具有所有必需权限. 此外,如果我禁用模拟并只设置应用程序池以使用此标识的凭据运行,一切正常. 我无法理解为什么在模拟开启时它不起作用但AppPool在默认帐户下运行. 更新1 EF连接字符串是 <add name="PtKbEntities" connectionString="metadata=...;provider=System.Data.SqlClient;provider connection string="data source=...;initial catalog=...;Trusted_Connection=Yes;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> 我在Win2008 Srv,IIS 7.5上托管应用程序 解决方法正如这 answer解释的那样; web.config中的模拟会覆盖应用程序池中的标识.在我看来,有一个很好的解释here使用哪一个:模仿或应用程序池 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 运行SonarQube针对ASP.Net核心解决方案/项目
- asp.net-mvc – 存储库模式:每个实体一个存储库类?
- asp.net-mvc – CORS在使用OWIN认证的web api中不起作用
- asp.net-mvc – Durandal和ASP.NET MVC约定
- 为什么ASP.NET页面在本地主机上比在生产服务器上慢得多
- asp.net-mvc-3 – 将数组传递给RouteValues,并将其渲染为粘
- asp.net-mvc – 从页面到局部视图的asp.net mvc参数
- 准备ASP.Net网站进行渗透测试
- 你可以使用asp.net mvc Json()将C#字典转换为Javascript关联
- asp.net-mvc – 偶尔__RequestVerificationToken错误
- asp.net – 当要复制的lob数据的插入长度超过配置
- asp.net-mvc – MVC路由错误:约束条目’长度’
- asp.net-mvc-3 – DropDownListFor Unobtrusive
- asp.net-mvc-3 – 具有MVC属性的IoC / DI
- 如何从ASP.NET MVC中的窗体身份验证拦截401?
- asp.net – ‘检测到Autofac循环组件依赖性’错误
- asp.net-mvc – 模型需要注入依赖项时的模型(Vie
- asp.net – 会话 – 多个浏览器选项卡 – 不同的
- asp.net – 使用ClientScriptManager.RegisterFo
- 为什么IIS不会执行我的自定义404页面?它试图改为
