C# WCF REST在经过身份验证时中断

C# WCF REST在经过身份验证时中断,c#,asp.net-mvc,wcf,C#,Asp.net Mvc,Wcf,我有一个非常简单的WCF REST服务 [ServiceContract] [AspNetCompatibilityRequirements( RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] public class TestService { [Descript

我有一个非常简单的WCF REST服务

[ServiceContract]
[AspNetCompatibilityRequirements(
    RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class TestService
{
    [Description("Test Description.")]
    [WebGet(UriTemplate = "go")]
    public string Test()
    {
        return "hi2u";
    }
}
它在web配置中的配置如下:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
<standardEndpoints>
  <webHttpEndpoint>
    <standardEndpoint name=""
                                                helpEnabled="true"
                      automaticFormatSelectionEnabled="false"
                                                defaultOutgoingResponseFormat="Json"
                                                crossDomainScriptAccessEnabled="true" />
  </webHttpEndpoint>
</standardEndpoints></system.serviceModel>

然后,该路由与global.asax绑定


问题是,如果我使用表单身份验证对应用程序进行身份验证,那么每次我重新构建解决方案并尝试转到服务时,服务都会中断,出现可怕的请求错误页面。如果我注销并重新运行应用程序,它可以正常工作。我将在某个时候使用线程主体,因此我想知道如何允许我的用户在仍然访问服务时通过表单身份验证进行身份验证?

这篇文章可能会有所帮助