我重写Application_AuthenticateRequest将Windows身份验证用户替换为我通过调用以编程方式检索的另一个用户LogonUser.当我将生成的WindowsPrinciple分配给Context.User时,我得到以下异常.我的开发机器上没有这个例外(一切都很完美),只在我的QA机器上.这两台机器都是Windows Server 2008 R2.QA机器上有些不同,但我不知道它是什么.
以下是我想要完成的内容的完整描述.
[UnauthorizedAccessException: Attempted to perform an unauthorized operation.]
System.Security.Principal.WindowsIdentity.get_AuthenticationType() +317
System.Web.Hosting.IIS7WorkerRequest.SetPrincipal(IPrincipal user, IntPtr pManagedPrincipal) +106
System.Web.HttpContext.SetPrincipalNoDemand(IPrincipal principal, Boolean needToSetNativePrincipal) +9022044
System.Web.HttpContext.SetPrincipalNoDemand(IPrincipal principal) +6
System.Web.HttpContext.set_User(IPrincipal value) +36
MyProj.MvcApplication.OverrideLoginUser() in C:\Data\Project\MyProj\Global.asax.cs:317
MyProj.MvcApplication.Application_AuthenticateRequest(Object sender, EventArgs e) in C:\Data\Project\MyProj\Global.asax.cs:305
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
Run Code Online (Sandbox Code Playgroud)
我通过将应用程序池的标识从"ApplicationPoolIdentity"更改为"LocalSystem"来解决QA计算机上的错误.在我的开发框中,设置是ApplicationPoolIdentity,那么为什么权限不同?失败的功能需要什么权限?
我已经筋疲力尽了.即使在本地Administrators组中使用用户帐户也无济于事.唯一可行的是将应用程序池作为LocalSystem运行.其他一些人也有这个问题(在这里记录)任何想法都受到赞赏.谢谢.
当尝试添加名称长度超过20个字符的全局组时,net.exe我收到错误消息,说明语法不正确,如下所示:
C:\>NET.EXE localgroup MyRemoteUsers "really-long-group-name-here" /ADD
The syntax of this command is:
NET LOCALGROUP [groupname [/COMMENT:"text"]] [/DOMAIN]
groupname {/ADD [/COMMENT:"text"] | /DELETE} [/DOMAIN]
groupname name [...] {/ADD | /DELETE} [/DOMAIN]
Run Code Online (Sandbox Code Playgroud)
Microsoft在此处记录了此问题.我需要这个在标准的.cmd批处理文件中工作.有一个简单的解决方法吗?
我正在设计一个ASP.NET MVC3应用程序,我希望在3层架构中明确区分关注点.我使用Fluent NHibernate作为ORM,Repository模式与NHibernate映射的实体一起使用.我想添加一个具有Unit Of Work模式的适当业务层,保留MVC部分仅用于表示(通过使用通过业务层映射到nHibernate实体的ViewModels). 本文很好地描述了组合的3层和MVC架构.
根据这个MVC +工作单元+存储库文章,我没有看到业务层的明显区别.工作单元类为每个存储库类型提供强类型的getter,它看起来适合业务层.但是,它暴露了一个Save方法,我认为它会转换为使用nHibernate的BeginTransaction和CommitTransaction方法.这引出了一些问题:
1)将事务控制暴露给MVC是一个好主意吗?交易控制应该在哪个阶段发生?在我看来,MVC不应该对交易负责,但如何避免这种情况?
2)是否应该有一些自动处理交易的方法? 此ActionFilter实现是半自动的,但事务控制显然位于MVC部分,而不是业务层.
3)UnitOfWork类与业务层类相同吗?
- 如果是这样,这是否意味着我们可以在其中添加自定义业务逻辑方法?
- 如果没有,我们是否将工作单元包含在包含业务逻辑方法的其他类中?
我感谢任何想法或例子.谢谢.
architecture asp.net-mvc design-patterns unit-of-work fluent-nhibernate
我试图在NHibernate 3.2和Oracle 11gR2中使用期货.虽然我不确定,但这似乎并不支持.我在NHibernate Jira上发现了这个问题,这使得它看起来像Oracle的未来可能.有谁知道如何让期货与Oracle合作?Oracle不受支持的原因究竟是什么?
根据这里的评论,我尝试使用HQL multiquery.我在执行时遇到异常_nhSession.CreateMultiQuery();这是例外:
The driver NHibernate.Driver.OracleDataClientDriver does not support multiple queries.
Run Code Online (Sandbox Code Playgroud)
我还能尝试什么?我使用了错误的驱动程序吗?
我有一个@ Ajax.ActionLink,只有在满足某些条件(用户有未保存的更改)时才会显示确认对话框.我创建了一个javascript函数,根据需要显示确认对话框,并根据响应返回true或false.我将它绑定到ActionLink的onclick事件,但是错误的结果不会取消操作.这是我的代码示例:
@Ajax.ActionLink("Done", .. , .. ,
new AjaxOptions() { UpdateTargetId = "MyContainerId"},
new { onclick = "ConfirmDone()" })
Run Code Online (Sandbox Code Playgroud)
这是javascript函数
function ConfirmDone() {
//for testing purposes we can always show the dialog box
return confirm("Are you sure you want to lose unsaved changes?");
}
Run Code Online (Sandbox Code Playgroud)
显示Ajax.ActionLink的条件确认对话框的最佳方法是什么?
我试图在 Windows 7 64 位上运行 CapeClear SOA Editor 应用程序,但它无法启动并产生一个错误,指出它无法加载 jvm.dll。我安装了 64 位 JDK 版本 7u13。
唯一有效的是安装 32 位版本的 JDK,然后将 JAVA_HOME 变量设置为指向 32 位版本C:\Program Files (x86)\Java\jdk1.7.0_13
为什么会这样?我该怎么做才能解决这个问题,以便我的 JAVA_HOME 指向 64 位 JDK 并且 SOA 编辑器应用程序启动时不会出错?
PS我试图复制的jvm.dllC:\Program Files (x86)\Java\jdk1.7.0_13\jre\bin\server并C:\Program Files (x86)\Java\jdk1.7.0_13\jre\bin\client到同一个直接作为SOAEditor.exe但没有帮助。
更新 1:使用 listdll.exe 我验证了 SOA 编辑器已加载 C:\Program Files (x86)\Java\jdk1.7.0_13\jre\bin\client\jvm.dll
更新 2:添加C:\Program Files (x86)\Java\jdk1.7.0_13\jre\bin\client\到路径变量也没有帮助
我正在使用SQL Developer 3.1.07.我使用内联提示向Oracle运行了一个查询,--+ hint但SQL Developer似乎在将提交提交到数据库之前删除了提示.多线提示/*+ hint */没有被剥夺.是否有选项可以在SQL Developer中保留内联提示/注释?
我有一个以下类型的PL/SQL集合
type p_typ_str_tab is table of varchar2(4000) index by pls_integer;
Run Code Online (Sandbox Code Playgroud)
我想用一个简单的内联函数将值聚合成一个字符串,就像LISTAGG不编写任何自定义函数或for循环一样.所有示例LISTAGG都没有显示如何使用PL/SQL集合.我正在使用Oracle 11g R2.这可能吗?
我看到了这个消息
此评级选项已被Android电子市场小组停用
我的应用程序的"全部"评级选项旁边.这适用于需要访问互联网才能投放adMob广告的应用.我不允许选择"全部"选项.我的应用适合小孩子,广告不会出现在主游戏屏幕上.有没有人知道如何解决这个问题?
我正在远程 ssh 主机上执行脚本,如下所示:
ssh -tt $USER@somehost 'bash -s' < ./myscript.sh
注意伪 tty-tt开关。
我的问题是脚本运行完毕后,ssh 会话并未结束。打字exit也没有任何作用。我如何让它退出?
asp.net-mvc ×3
oracle ×3
.net ×2
oracle11g ×2
windows ×2
ajax ×1
android ×1
architecture ×1
asp.net ×1
bash ×1
batch-file ×1
collections ×1
dll ×1
google-play ×1
hints ×1
java ×1
javascript ×1
linux ×1
nhibernate ×1
orm ×1
path ×1
plsql ×1
powershell ×1
query-hints ×1
ssh ×1
terminal ×1
tty ×1
unit-of-work ×1