2011-03-02 128 views
0

我是WCF休息的新手。我有两个操作合同,一个POST和GET方法。 在我的客户端,我使用HttpWebRequest并尝试访问操作合同。WCF休息客户端 - 发布超时

每当我访问POST方法操作合同,我得到一个超时错误。 但是,当我尝试访问成功的GET方法后,POST方法,一切工作正常。

是否有必要在POST方法调用之后使用GET方法调用?

我在这儿干什么?

回答

0

在POST之前做GET并不是必要的。您的错误实际上可能不是POST超时,而是服务器和服务器在反序列化时失败的错误数据。

GET可能会在客户端上设置一些数据传回服务器?如果是这种情况,那么GET设置的数据是否可能是未设置时的数据,从而导致服务器上的POST失败?

找出最好的方法是在您的服务器上设置跟踪。查看here以获得WCF跟踪的良好示例。

UPDATE:另一种可能性是,您的GET代码正在初始化服务器端的东西,您的POST调用丢失。也许是数据库连接?

+0

感谢您的建议,将尽力回复给您。快速验证顺便说一句,如果通过POST发送的数据不好,即使通过GET方法访问后,它也会失败。但是,它是如何工作的? – Anu 2011-03-02 16:54:52

+0

,除非您使用GET来加载稍后在帖子中发送的数据。在这种情况下,您的请求可能包含更多内容?从你的问题的细节很难说,只是抛出建议。但是,通常这些请求是无状态的,所以GET和POST根本不应该互动。 – ale 2011-03-02 18:19:27

+0

我尝试访问我的休息服务,使用Httpwebrequest和JsonSerialization,我的帖子没有任何问题。我有另一个客户端使用servicemodel.clientbase访问我的服务。在这种情况下,当我访问post方法时,我得到一个超时。有没有我在这里失踪的设置。正在使用客户端访问休息服务是否正确? – Anu 2011-03-03 09:53:41