我正在尝试在一个web.config中使用多个服务。我遇到的问题是,当我转到https://localhost/APGame.WebHost/PlayService.svc/checktraining?g=3时,我得到资源无法找到错误(404)。我尝试使用一个服务和多个服务合同来做这件事,但也没有用。
我可以访问https://localhost/APGame.WebHost/PlayService.svc,以便服务正在运行。我只是不确定我做错了什么。
WCF的Web.config
Note.cs
服务合同
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace WpfBindingOneWayWithSaveButton
{
public class Note : INotifyPropertyChanged
{
private string text;
public string Text
{
get { return text; }
set
{
text = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
答案 0 :(得分:0)
我尝试了很多不同的解决方案(比如这个:404 when running .net 4 WCF service on IIS (no svc file))并且没有一个解决方案。
我意识到问题在于它是通过HTTPS访问的。即使我可以访问.svc
文件(https://localhost/APGame.WebHost/PlayService.svc),我也无法访问任何方法(例如:/Playservice.svc/json/2)。为了解决这个问题,我将以下内容添加到<bindings>
标记
<webHttpBinding>
<binding name="webBinding">
<security mode="Transport">
</security>
</binding>
</webHttpBinding>
然后我将bindingConfiguration="webBinding"
添加到我服务的端点