gpt4 book ai didi

ASP.NET - 使用 WCF Web 服务绑定(bind)和 AD 组时出现 IIS7 部署错误 500 24 50

转载 作者:行者123 更新时间:2023-12-02 14:32:40 25 4
gpt4 key购买 nike

背景:在我的本地计算机上部署已编译且没有错误的应用程序后,我收到内部服务器 500 24 50 错误。部署应用程序的服务器具有很高的安全性并且正在运行 IIS 7.5,因此我需要为每个目录指定读写访问权限。该应用程序使用 Windows 身份验证和 Web 服务通过代理填充下拉框。我认为连接到 Web 服务可能存在问题,或者文件的读/写安全性存在问题,或者事件目录身份验证存在问题。

由于某种原因,Internet Explorer 只是显示无法加载网页错误。

谷歌浏览器中的错误:

 500 – Internal Server Error.
There is a problem with the resource you are looking for, and it cannot be displayed.

日志文件详细信息:

 #Software: Microsoft Internet Information Services 7.5
#Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken

2011-05-18 13:54:46 W3SVC1 FL-TPA-WEB-01 172.17.1.25 GET / - 80 -
172.17.1.25 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+WOW64;
+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET4.0C;+.NET4.0E) - -
invitations.myagencyservices.com 500 24 50 1380 368 15

MSDN 将错误定义为 http://support.microsoft.com/kb/943891如:

  500.24 - An ASP.NET impersonation configuration does not apply in Managed 
Pipeline mode.

Web.Config代码:

  <system.web>
<customErrors mode="Off" ></customErrors>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
<trace enabled="true" pageOutput="true" />


<authentication mode="Windows"/>
<identity impersonate="true"/>

<authorization>
<allow users="alg\bmccarthy, alg\phoward" />
<allow roles="alg\ACOMP_USER_ADMIN" />
<allow roles="alg\ACOMP_user_AMG" />
<allow roles="alg\ACOMP_user_BIG" />
<allow roles="alg\ACOMP_user_NIS" />
<allow roles="alg\ACOMP_user_GLA" />
<allow roles="alg\ACOMP_user_PIP" />
<allow roles="alg\ACOMP_user_PSM" />
<allow roles="alg\ACOMP_user_PAM" />
<allow roles="alg\ACOMP_user_ANN" />
<allow roles="alg\ACOMP_user_AAM" />
<allow roles="alg\ACOMP_user_MWM" />
<allow roles="alg\ACOMP_user_GIM" />
<deny users="*" />
</authorization>
</system.web>

<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IAcompService1" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>

<client>
<endpoint address="http://63.236.108.91/aCompService.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IAcompService1" contract="aComp_ServiceReference.IAcompService"
name="BasicHttpBinding_IAcompService1" />
</client>
</system.serviceModel>

任何建议都会被投票!感谢您的关注!

最佳答案

出现 500.24.50 错误是因为 ASP.NET 集成模式无法模拟 BeginRequest 和 AuthenticateRequest 管道阶段中的请求身份。如果您的应用程序在集成模式下运行,未声明 validateIntegratedModeConfiguration 或将其设置为 true,并且您的应用程序将 Identity impersonate 设置为 true,则会抛出 500.24。

解决方法

A.如果您的应用程序不依赖于在 BeginRequest 和 AuthenticateRequest 阶段(集成模式下无法进行模拟的唯一阶段)模拟请求用户,请通过将以下内容添加到应用程序的 web.config 来忽略此错误:

  <system.webServer>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>

B.如果您的应用程序确实依赖于 BeginRequest 和 AuthenticateRequest 中的模拟,或者您不确定,请转至经典模式。

C.从 web.config 中删除它在集成模式下无论如何都不会有效

了解更多关于 Breaking Changes in IIS 7 from LEARN.IIS.NET

关于ASP.NET - 使用 WCF Web 服务绑定(bind)和 AD 组时出现 IIS7 部署错误 500 24 50,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5967920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com