![](/img/trans.png)
[英]Using web.config in a Self-Hosted c# WCF console app (setting MaxStringContentLength server side)
[英]C# File Upload via POST REST API in a Self-Hosted Web Server Environment
我有一個已創建的Web服務,該服務使用“ System.Web.Http.SelfHost”中的“ HttpSelfHostConfiguration”進行自我托管。 我需要創建一個REST API,允許其他人進行POST調用以將文件上傳到我的服務。
到目前為止,我所做的所有研究都是針對托管Web服務的,例如IIS。 因此,允許他們執行的操作是使用“ HttpContext.Current”獲取HttpRequest內容。
但是,在自托管環境中,“ HttpContext.Current”為null,因此我需要走一條替代路線。 我的Google-fu可能已關閉,但我似乎找不到任何有關如何在自托管環境中完成此操作的信息。
在這種情況下,是否有人對如何完成創建REST API(允許人們發布文件)有任何示例或建議?
提前致謝!
在您的post方法中使用如下所示的HttpRequestMessage
public HttpResponseMessage Post(HttpRequestMessage request) {...}
然后,您可以使用如下所示的方法來提取請求消息的上下文
字符串sRequestcXMLContent = Encoding.UTF8.GetString(request.Content.ReadAsByteArrayAsync()。Result);
希望這個能對您有所幫助!
這篇文章幫助我分配,但我認為我會發布我的解決方案來幫助人們。
public async void Post(HttpRequestMessage Message)
{
MultipartMemoryStreamProvider x = await Message.Content.ReadAsMultipartAsync();
Byte[] xx = await x.Contents[0].ReadAsByteArrayAsync();
File.WriteAllBytes("c:\\test.png", xx);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.