VS 2012升级后的Web服务

时间:2012-10-10 20:03:04

标签: web-services visual-studio-2012 upgrade using-statement

我最近从VS 2010升级到VS 2012,现在我正在升级我的解决方案和项目。我有一个包含两个服务引用的Web项目。一种是包含在解决方案中的自定义Web服务(.asmx),另一种是第三方供应商服务。该解决方案在本地构建和运行时没有任何问题,但是当我部署时,从自定义服务中调用供应商服务时会抛出异常。一切仍然适用于VS 2010所以我想知道VS 2012发生了什么。我做了一些earching,看起来它可能与WCF IDisposable问题有关,但我无法得到任何推荐的解决方案这是失败的代码。

    [WebMethod(EnableSession = true)]
    public AuthorizationToken GetAuthorizationToken()
    {
        String result = String.Empty;
        AuthorizationToken token = null;
        try
        {
            if (_session[Constants.SessionTokenKey] == null)
            {
                using (var client = new abcXMLSoapClient())
                {
                    token = client.Authenticate("xxx", "pwd", out result);
                }
                if (token != null)
                    _session.Add(Constants.SessionTokenKey, token);
            }
            else
                token = (AuthorizationToken)_session[Constants.SessionTokenKey];
        }
        catch (Exception e)
        {
            LogException(e, "GetAuthorizationToken");
        }
        return token;
    }

创建客户端没有任何问题,但在尝试进行身份验证时抛出异常。我得到的例外是

The communication object, System.ServiceModel.ChannelFactory`1[abc], cannot be used for communication because it is in the Faulted state

先谢谢。

0 个答案:

没有答案