我正在尝试了解WCF。为了做到这一点,我想我会构建一个错误记录工具。此工具公开单个WCF服务。该服务有一个名为“LogError”的操作。 LogError接受三个参数:origin,message和stackTrace。我的方法签名如下所示:
[OperationContract]
[WebInvoke(UriTemplate = "/LogException/{origin}/{message}/{stackTrace}", ResponseFormat = WebMessageFormat.Json)]
public string LogException(string origin, string message, string stackTrace)
{
// Save details to database
return string.Empty;
}
请注意我正在学习WCF,所以我不确定我是否在这里使用最佳实践。但是,因为我正在写数据库,所以我认为POST方法最好。根据我的理解,WebInvoke最适合POST方法。我想使用JSON,因为我想从各种客户端应用程序中调用它,并且要快速。
我的问题是,到目前为止,我是否处于正确的轨道和理解线上?知道WCF的人能否告诉我,到目前为止我的思路是否正确?
谢谢!
答案 0 :(得分:0)
我写了类似的东西:
[WebHelp(Comment = "Add a log entry")]
[WebInvoke(UriTemplate = "AddLogEntry", Method="POST", BodyStyle=WebMessageBodyStyle.Bare)]
[OperationContract]
public void AddLogEntry(LogEntry entry)
{
WriteEntry(entry);
}
但在我的情况下,我有一个我要发送的自定义日志对象。响应格式只是告诉操作它将重新发送JSON。我不相信它会对它接受的数据格式产生任何影响。