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使用哪一个:模仿或应用程序池 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在asp.net中动态构建SiteMapPath
- 如何从MVC asp.net控制器为javascript变量赋值
- asp.net core 3.0 中使用 swagger
- asp.net – 使用asp:Button将参数传递给函数
- asp.net – ORA-01036:非法变量名/号C#(SqlDataSource)Ora
- asp.net – 你能以编程方式设置MachineKey吗?
- asp.net-mvc-3 – 在ASP.NET MVC3中全局访问autofac依赖解析
- iis – 如何从服务器上的经典asp页面执行bat文件
- ASP.NET MVC 反射例子
- 在ASP.NET MVC 3中上载大于2GB的文件
- asp.net-mvc-3 – 在html标签中添加html输入
- asp.net-mvc – MvcContrib测试助手问题
- ASP.NET MVC的提示和ASP.NET WebForms开发人员的
- asp.net-mvc-2 – Html.TextBoxFor格式和css类
- 验证 – 想知道为什么DisplayName属性在被覆盖属
- asp.net-mvc – ASP.NET MVC获取下拉列表值
- asp.net-mvc – 在我的asp.net MVC解决方案中保持
- asp.net – 是否可以通过Windows服务中的自托管W
- asp.net – 如何强制ListView以编程方式显示第一
- asp.net-mvc – ValidateInput(false)和AllowHtm