我是WCF的新手。我有一个 asp.net 项目,这是正常的3tire项目。我的解决方案的结构是这样的 1. DAL(类库数据访问层项目( 2. BL(类库业务逻辑( 3. BO(业务对象类库( 4. 在线测试(主要网络项目客户端( 5. WCFS服务(类库项目( 现在,我想将 WCF 类库项目包含在同一个解决方案中,并使用 WCF 服务进行学习。我创建了适当的服务和合同。我的主 Web 项目的 web.config 文件修改如下
<configuration>
<connectionStrings>
<add name="dbConnect" connectionString="Data Source=WIN-3150RFE75I8PMSSERVER;Initial Catalog=TestDb_OnlineExam;Persist Security Info=True;User ID=sa;Password=pmsadmin1!" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
</authentication>
</system.web>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"></serviceHostingEnvironment>
<services>
<service name="WCFServices.LoginWcfService" behaviorConfiguration="LoginWcfServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="WCFServices.ILoginWcfService" behaviorConfiguration="web">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="LoginWcfServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<serviceDiscovery></serviceDiscovery>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<protocolMapping>
<add binding="webHttpBinding" scheme="http"/>
</protocolMapping>
</system.serviceModel>
</configuration>
当我尝试运行我的项目时,显示的错误消息是:
在 ServiceModel 客户端配置部分找不到引用协定"LoginServiceReference.ILoginWcfService"的默认终结点元素。这可能是因为找不到应用程序的配置文件,或者因为在客户端元素中找不到与此协定匹配的终结点元素。
我无法找到有关此错误的任何信息。
我检查了运行我的 WCF 服务,它运行良好。只是无法在我的 Web 项目中使用它。我需要添加/修改哪些属性才能使事情正常工作。
首先,我建议启动你的 wcf 网站。当它运行时,查看分配的端口。之后,继续将其像客户端一样添加到主网络的 Web 配置中。以下页面可能很有用:
https://learn.microsoft.com/en-us/dotnet/framework/wcf/feature-details/client-configuration