我对使用JSON与网站的某些客户端部分进行通信的Web服务有一个问题 web服务在网站解决方案中,并在aspx页面中使用VB(Web表单)
我的网络配置是:
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="Binding1">
<security mode="None">
<transport clientCredentialType="None" />
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="ServiceAspNetAjaxBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
</behaviors>
<!--<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>-->
<services>
<service name="Z60MRTR002.FrmCommandeAction" behaviorConfiguration="ServiceBehavior">
<endpoint address="" binding="webHttpBinding" bindingConfiguration="Binding1" contract="Z60MRTR002.FrmCommandeAction" behaviorConfiguration="ServiceAspNetAjaxBehavior" ></endpoint>
<!--<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />-->
</service>
</services>
</system.serviceModel>
<system.web>
<compilation defaultLanguage="vb" debug="true" targetFramework="4.0"/>
<customErrors mode="Off"/>
<authentication mode="Windows"/>
<authorization>
<allow users="*"/>
</authorization>
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
</system.web>
<appSettings>
<!-- SOME SETTINGS -->
</appSettings>
</configuration>
我在IIS服务器上激活了匿名身份验证。
它在IISExpress(本地)上工作正常但在我的生产服务器(iis6.0)上没有,帮助!
错误是:
[NotSupportedException:Lesparamètresdesécuritépource servicerequièrent'authentification'Anonymous',mais elle n'estpasactivéepourl'application IISquiébergeceservice。]
英文版:此服务的安全参数需要“匿名”身份验证,但不会为托管IIS应用程序激活
编辑: 我将wcf复制并粘贴到新的wcf项目中,然后在服务器上发布它,确保启用了匿名身份验证。它告诉我auth未激活。
只要问我是否需要更多信息。 谢谢!
答案 0 :(得分:0)
确保在IIS中启用了匿名身份验证: https://technet.microsoft.com/en-us/library/cc731244%28v=ws.10%29.aspx
答案 1 :(得分:0)
我发现了我的错误,它远远没有接近网络配置,也没有接近服务器的配置。我实际上有一个名为 HttpContext.Current.User 的子功能...
即使服务器被激活,服务器也会返回错误: 所以对任何激活匿名身份验证的人仍然会收到错误,您可能需要仔细检查您的代码:)
我还不确定为什么它适用于iisExpress.Maybe它是调试允许iisE访问HTTPcontext。