【发布时间】:2011-09-01 15:54:29
【问题描述】:
问题是我有一个非常简单的 WCF REST 服务,它是从 WCF 服务应用程序模板开始编写的。
我有一个方法,这样设置一个类
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class MainService
{
[WebGet(UriTemplate = "{ricCode}")]
public IdentifierInfo GetByRicCode(string ricCode)
{
...
}
}
当从我的机器上运行时,我没有任何问题,它工作正常(典型)。 我的问题是,当我将它发布到 IIS6 上的网站(设置为匿名访问和虚拟服务器上)时,我从上述方法得到的只是 400 - 无效请求。
当我将方法作为测试更改为这个时
[WebGet(UriTemplate = "")]
public string GetByRicCode()
{
return "foo";
}
并在 IIS6 服务器上运行它工作正常。 也许我在 IIS 上设置了错误的虚拟服务器……请问有什么想法吗?
【问题讨论】:
-
您可以启用跟踪并找出您收到 400 响应的错误吗?
-
没关系,我发现了问题,由于嵌套的 web.configs,它引发了异常。