2
我有一個.NET 3.5 WCF服務。它看起來像這樣:將文件上傳到WCF 3.5服務
namespace FileUploaderWcfRestService
{
[ServiceContract]
interface IUploaderService
{
[OperationContract(IsOneWay = true)]
[WebInvoke(Method = "POST", UriTemplate = "/UploadFile?fileName={fileName}")]
void UploadFile(string fileName, Stream fileContents);
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class UploaderService : IUploaderService
{
public void UploadFile(string fileName, Stream fileContents)
{
// save to disk code
}
}
}
在web.config中,我有端點設置如下:
<endpoint address=""
binding="webHttpBinding"
contract="FileUploaderWcfRestService.IUploaderService">
在客戶端,我嘗試用WebClient的對象調用它,但總是得到錯誤415(不支持的媒體類型)。
var wc = new WebClient();
string url = "http://localhost:23619/UploaderService.svc/UploadFile?fileName=todo.sdf";
byte[] data = GetBytesFromFile("ToDo.sdf"); // gets the file into a byte array
byte[] resp = wc.UploadData(url, "POST", data);
我試過不同的URL變體,但沒有任何幫助。 我在這裏錯過了什麼?
哇,謝謝。完美工作。 – AngryHacker