c# - 遇到 WCF 问题:HTTP 错误 404.0 - 未找到
问题描述
问题
我正在尝试使用 WCF 创建一个 Rest 服务。我在调用堆栈命名空间中创建了一个名为“Coronado.HUB”的 WCF 类,如下所示。当我向服务发出 http 请求时,我收到 404 错误。
源代码
using Coronado.HUB.Model;
using Coronado.HUB.Service;
using System;
using System.ServiceModel;
using System.ServiceModel.Web;
namespace Coronado.HUB
{
/// <summary>
/// Returns Driver By ID
/// </summary>
[ServiceContract]
public interface IDriverService
{
[OperationContract]
[WebGet]
Driver GetDriverById(Guid id);
}
/// <summary>
/// Returns Driver Object By ID
/// </summary>
public class DriverService : IDriverService
{
public Driver GetDriverById(Guid id)
{
return DriverServiceProvider.Instance.GetDriverById(id);
}
}
}
因此,在我的 ASP.NET 项目中,我添加了以下 DriverService.svc 文件和以下参考
<%@ ServiceHost Service="Coronado.HUB.DriverService" %>
配置
最后,我将以下配置添加到我的 web.config
<system.serviceModel>
<services>
<service name="Coronado.HUB.DriverService">
<endpoint address="" binding="webHttpBinding" contract="Coronado.HUB.IDriverService" behaviorConfiguration="RestService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/XXX/DriverService/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="RestService">
<webHttp defaultOutgoingResponseFormat="Json" defaultBodyStyle="Bare" />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
我已经尝试解决这个问题一天半了,但我无法让它工作。如果有人能告诉我我哪里出错了,我将不胜感激。感谢您的时间和考虑。
- 更新 -
我要解析的网址如下
http://localhost/XXX/DriverService.svc/GetDriverById?id=F200A17F-9E03-41EB-90FB-01B8665246BB
解决方案
我遇到的问题是因为 WCF 没有向 IIS 注册。这是我的理解,pre .Net 4.0 - 这是通过命令行完成的。就我而言,我使用了程序和功能。这解决了问题
有关其他信息,请参阅:IIS 7 无法识别 svc 文件
推荐阅读
- tibco-business-works - 如何遍历 CSV 文件并在写入文件活动中写入每一行?
- sql - 如何从 SQL Server 2014 获取特定的 XML 格式(提供的示例)
- ruby-on-rails - 如何设置特定的sidekiq队列以同时运行一项任务?
- javascript - 在 Highcharts Networkgraph 中显示/隐藏子节点和链接
- docker - Jenkins 管道,如何在没有 Jenkins 文件的情况下从 scm 获取源代码
- mysql - 如何更正字符串格式以防止语句中出现无效字符?
- javascript - 在静音 iPhone 上播放 P5.js 声音
- python - 如何修复:.py 文件无法从 .yaml 文件中解码以俄语和白俄罗斯语编写的 str。我正在使用 UTF-8 编码
- python-3.x - 使用 Matplotlib 绘制 3 相正弦曲线时出错
- node.js - 使用 npm 安装节点失败并出现 EACCES 错误