【发布时间】:2012-11-01 03:46:35
【问题描述】:
我是 WCF Web 服务的新手,不太了解如何调试 Web 服务...
以下示例,我创建了一个具有如下界面的 Web 服务:
public interface IMyService
{
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
List<MyClass> GetData(string param);
}
以及返回 MyClass 列表的实现。
部署后,我在 Fiddler 中调用了类似的服务
http://localhost/MyService.svc/GetData?keyword=blabla
返回:
HTTP/1.1 401 Unauthorized
Server: Microsoft-IIS/7.5
SPRequestGuid: blabla
WWW-Authenticate: blabla
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 14.0.0.6114
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS
Date: Mon, 12 Nov 2012 17:24:08 GMT
Content-Length: 0
如果我只写作曲家:
http://localhost/MyService.svc/GetData
如果没有参数,它会返回状态为 200 的空 json。
当我在 Chrome 中尝试第一个请求时,它连续向服务器要求我的用户名和密码,但输入它们并没有帮助我摆脱(要求用户名和密码的循环)。
有人遇到过这样的问题吗? 或者你能对调试有什么建议吗?
【问题讨论】:
-
请发布您的 web.config 文件的相关部分。正确的配置是让 WCF 服务正常工作的主要部分,尤其是当您尝试通过 GET 访问时。
-
@JcFx 我在效仿其他人的例子,奇怪的是,web.config 中没有相关部分,以及许多其他服务......
-
如果您要通过 GET 访问该服务,那么您将需要一些配置。在这里查看我的答案:stackoverflow.com/questions/13228995/…您至少需要
<serviceMetadata httpGetEnabled="true" />的服务行为 -
仅供参考,请注意我如何编辑您的标题以实际向读者提供一些信息。
标签: asp.net wcf web-services visual-studio