use*_*662 5 c# wcf windows-phone-7
我正在研究WP7应用程序.如果发生错误,我想将错误记录回我的服务器.为了解决这个问题,我创建了一个WCF服务操作.我希望这个操作是RESTful,以便我以后可以在iPhone和Android应用程序中使用它.因为我正在向数据库写信息,所以我认为POST方法是最好的.出于这个原因,我正在使用WebInvoke.为此,我使用以下代码:
[OperationContract]
[WebInvoke(UriTemplate = "/LogError/{message}/{stackTrace}", ResponseFormat = WebMessageFormat.Json)]
public void LogError(string message, string stackTrace)
{
// Write info to the database
}
Run Code Online (Sandbox Code Playgroud)
从我的WP7应用程序,我想通过WebClient调用此operaiton.我的问题是,我该怎么做?我不明白如何调用LogError操作并通过WebClient传递所需的数据.
谢谢您的帮助!
大致意思是:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://serveraddress/LogError/{message}/{stackTrace}");
Run Code Online (Sandbox Code Playgroud)
如果您想稍后发送其他信息,可以通过以下方式执行:
request.Method = "POST";
request.BeginGetRequestStream(new AsyncCallback(ExecuteAction), request);
Run Code Online (Sandbox Code Playgroud)
并有一个回调:
void ExecuteAction(IAsyncResult result)
{
HttpWebRequest request = (HttpWebRequest)result.AsyncState;
using (Stream s = request.EndGetRequestStream(result))
{
s.Write(data, 0, data.Length);
}
}
Run Code Online (Sandbox Code Playgroud)
如果服务有特定的字符串响应,您不妨将数据包含在 WebClient 中并使用DownloadStringAsync获取响应数据。
| 归档时间: |
|
| 查看次数: |
1923 次 |
| 最近记录: |