【发布时间】:2015-02-07 13:27:34
【问题描述】:
我有一个 c# winforms 应用程序,我试图在其中调用我控制代码的 Web 服务(在两端)。我知道 Web 服务很好,因为我可以毫无问题地从 jquery 调用它并返回有效的 json。但是当我从 c# 调用它时,我得到这个错误:“远程服务器返回一个错误:(500)内部服务器错误。”在调试器中,我无法收集到更多细节。
这是我的 c# 调用者代码:
private string GetMemberCheckInData() {
string response = string.Empty;
string fullURL = RootServiceURL + "MemberCheckIn";
var httpWebRequest = (HttpWebRequest) WebRequest.Create(fullURL);
httpWebRequest.ContentType = "text/json";
httpWebRequest.Method = "POST";
using(var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) {
string json = "{\"scanCode\":\"" + APIKey + "\"," +
"\"siteID\":\"2\"," +
"\"revenueGroupID\":\"0\"," +
"\"employeeID\":\"12345\"}";;
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
var httpResponse = (HttpWebResponse) httpWebRequest.GetResponse();
using(var streamReader = new StreamReader(httpResponse.GetResponseStream())) {
response = streamReader.ReadToEnd();
}
}
return response;
}
这是正在发送的文字 JSON:
{"scanCode":"***8G9V3MA39H0N****","siteID":"2","revenueGroupID":"0","employeeID":"12345"}
这是 c# web 服务代码(从 jquery 调用时可以正常工作):
[WebMethod]
public void MemberCheckIn(string scanCode, int siteID, int revenueGroupID, int employeeID)
{
...code is never reached...
}
Web 服务功能从未真正进入;我用调试器确认了这一点。当我从 jquery 调用它时,我可以直接调试它。因此,.net 运行时或 IIS 或其他东西似乎拒绝了该请求。
任何想法我做错了什么?
【问题讨论】:
标签: c# jquery asp.net web-services