【问题标题】:Asp.Net with WCF service configuration file issueAsp.Net 与 WCF 服务配置文件问题
【发布时间】:2014-07-30 13:08:31
【问题描述】:

我有一个 ASP.Net Web 窗体应用程序(项目 1)、一个实体框架数据访问库(项目 2)和一个 WCF 服务库(项目 3)。 Asp.Net 项目有一个 *svc 文件,它将调用重定向到项目 3 中的相应 WCF 服务。我正在使用 VS 2012(+ 其集成服务器)本地调试,因此不使用 IIS。 我遇到了以下问题:如果我使用项目 1 中的页面从 EF 数据库中获取一些数据,一切正常,但是当我使用远程 WCF 客户端调用相同的方法时,如果失败。该错误表示找不到数据库的连接字符串。经过调查,我发现如果我从 ASP 项目中调用查询,则正确使用了位于项目 1 的 Web.config 文件中的连接字符串。但是,如果我通过 WCF 服务调用查询,则会使用服务库的 App.config(当然不包含任何连接字符串)。
到目前为止,我认为 .NET 不支持 DLL 的分段配置文件(这就是为什么您必须将端点/服务配置元素从服务 App.config 复制到 ASp.Net Web.config 文件的原因)。
那么有谁知道我如何让我的服务使用 Web.config 而不是它自己的 App.Config,它不应该使用它吗?

编辑:为*svc文件和服务接口+服务实现添加代码

SimulatorWcfServices.svc(项目1:主ASP.Net Web Application):

<%@ ServiceHost Language="C#" Debug="true" Service="Blub.SimulatorWcfServices.DataExchangeService" %>

IDataExchangeService.cs(项目 3:SimulatorWcfServices 服务库)

  [ServiceContract]
    public interface IDataExchangeService
    {
        [OperationContract]
        IDictionary<string,string> GetData();
    }

DataExchangeService.cs(项目 3:SimulatorWcfServices 服务库)

 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class DataExchangeService : IDataExchangeService
    {
        public IDictionary<string, string> GetData()
        {
            return new DataAccessImplementation.DataDAO().GetAllData(); //call to project 2
        }
    }

【问题讨论】:

  • 删除app.config
  • WCF 使用 Web.config。将您的连接字符串复制到其中。
  • @TMcKeown McKeown:如果我这样做,服务根本无法工作,因为它不知道自己的配置。它似乎是从服务 DLL 中的 App.config 获取其整个配置。 Gandarez:我的整个问题是 WCF 服务不使用 Web.config...
  • 那么此服务未编码为 .svc Web 资源,或者您正在专门寻找该配置。
  • 我不知道什么是“.svc 网络资源”;所以我添加了我的代码以进行澄清......

标签: c# asp.net wcf configuration connection-string


【解决方案1】:

我通过将用于调试的网络服务器从“本地 IIS 网络服务器”切换到“Visual Studio 开发服务器”(项目 --> 属性 --> Web --> 服务器)解决了这个问题。所以基本上我降级了使用过的服务器。现在它使用了正确的配置文件,并且程序集似乎以正确的顺序加载,而不仅仅是部分加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-08
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2011-04-15
    • 1970-01-01
    • 2015-12-02
    相关资源
    最近更新 更多