接受来自其他服务器的大文件输入的ASP.NET WebService



我需要在ASP.NET 3.5(C#)中构建一个Web服务,它接受一个大文件(如DOC/PDF/XLS等大约10-20MB的文档)作为输入参数。
这个Web服务被许多第三方应用程序调用,其中许多都是用PHP开发的。一旦WS拥有该文件,就必须将其放入另一个.NET应用程序文档归档中。
我已经测试了整个回合,它有效。该文件没有在调用url中传递,而是由服务器本地路径获取的。

现在,我的问题是:当调用来自托管在不同服务器上的应用程序时,我如何将大文件传递给WS?

编辑:添加了一个示例。

案例:

Server A is a PHP application that calls the .NET Web Service on Server B and passes it a file. Then, the WS on Server B will post the file somewhere else on Server C.

换句话说,我的问题是服务器A和服务器B之间的通信。我需要一个类似"查询字符串"的东西,我可以用它将文件作为字节数组或其他任何东西传递。类似于:

http://www.myserver.com/InsertFile.ashx?file=A3Fdf3Gjy5... <-- byte array of the file

显然,查询字符串不太适合我的目的。。。
我想知道我想做的事情是否可行,以及我应该使用哪种技术来实现它。

您可以使用POST而不是GET来允许更大的文件(并且语义正确)。这里也提出了类似的问题。导致此链接

如果web服务是您的,您可以通过更改web.config文件来实现它。请参阅:

如何将大型(>25MB)文件上传到web服务?