webmethod с необязательными аргументами C #, по-видимому, необходим при вызове в качестве RESTful URI - выдает InvalidOperationException: отсутствует параметр - PullRequest
1 голос
/ 30 сентября 2011

У меня есть веб-метод, который работает, и я добавил некоторые необязательные параметры (потому что я не хочу обременять всех вызывающих абонентов предоставлением этих значений; они в основном предназначены для моих нужд разработки, так как мой веб-метод создает диагностический EventLog.WriteEntry):

[WebMethod(Description = "DownloadFile method for ASP.Net clients")]
    public void DownloadFileCF(string trimURL, string TrimRecordNumber
        , string CallerPC = "not specified"
        , string RequestorID = "not specified")

Я также могу вызвать вышеуказанный метод с RESTful URI следующим образом: http://localhost/sdkTrimFileServiceASMX/FileService.asmx/DownloadFileCF?trimURL=60~GROUPER~1137&TrimRecordNumber=5

, но затем я получаю это:

System.InvalidOperationException: Missing parameter: CallerPC.
   at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
   at System.Web.Services.Protocols.UrlParameterReader.Read(HttpRequest request)
   at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
   at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()

Еще когдаЯ проверяю веб-методы веб-службы на localhost и предоставляю значения только для первых двух текстовых полей и нажимаю кнопку INVOKE, затем аргументы обрабатываются как необязательные.

Я ОЧЕНЬ новичок в правилах REST.Может ли кто-нибудь поправить меня в этом вопросе?

...