HttpWebRequest在IIS中“放置”动词行为

时间:2013-08-28 11:39:11

标签: .net iis webdav http-put

我正在尝试理解我刚刚编写的webdav客户端应用程序和IIS服务器之间的对话流程。实际上,我需要了解它,因为它可以与https一起使用,但不能使用普通的http,并且服务器配置为接受这两者。

首先,“PROPFIND”似乎运作良好。有趣的是,如果我用Fiddler分析HTTP流量,那么我的程序看不到来自服务器的401响应......我尝试使用Windows Mini-redirector进行相同的操作,同样的情况也是如此。那里有401响应似乎没有影响。这是http。

然后,下一步是在HttpWebRequest中发送带有“PUT”的文件。我的应用程序没有抛出任何错误,甚至没有得到任何响应,它只是无限期地等待它,其效果就像冻结;但是,在Fiddler或其他网络分析仪中,我的应用程序似乎错过了服务器的401响应,之后没有更多的流量。 我尝试使用迷你重定向器,同样的401就在那里,但是有一个201响应并且文件被上传。

在我的应用中,所有似乎都适用于https。我尝试过使用IIS 6.0 IIS 7和IIS 8.0。它们都配置为接受非SSL流量。

有人可以启发我,为什么我的应用程序看不到那个401?它也在迷你重定向器的流量,但似乎没有打扰。

此外,任何有关为何无法使用http,迷你重定向器的经验都会让服务器接受它,但是可以使用https吗?

1 个答案:

答案 0 :(得分:0)

远程IIS不喜欢SendChunked = true选项。它似乎不喜欢未知的尺寸。使用HttpWebRequest方法的代码有此选项。没有它,它就可以正常工作。