Я пытаюсь перегружать методы в веб-службе, но я получаю исключение System.InvalidOperationException при попытке "Добавить веб-ссылку" в Visual Studio 2005 (здесь соответствующие фрагменты кода):
public class FileService : System.Web.Services.WebService
{
private static readonly MetaData[] EmptyMetaData = new MetaData[0];
public FileService()
{
// a few innocent lines of constructor code here...
}
[WebMethod(MessageName = "UploadFileBasic",
Description = "Upload a file with no metadata properties")]
public string UploadFile(string trimURL
, byte[] incomingArray
, string fileName
, string TrimRecordTypeName)
{
return UploadFile(trimURL
, incomingArray
, fileName
, TrimRecordTypeName
, EmptyMetaData);
}
[WebMethod(MessageName = "UploadFile",
Description = "Upload a file with an array of metadata properties (Name/Value pairs)")]
public string UploadFile( string trimURL
, byte[] incomingArray
, string FileName
, string TrimRecordTypeName
, MetaData[] metaDataArray)
{
// body of UploadFile function here
Я думал, что предоставление другого свойства MessageName в атрибуте WebMethod устранит эту проблему, но вот полное сообщение об ошибке, которое я получаю:
Оба System.String UploadFileBasic (System.String, Byte [], System.String, System.String) и System.String UploadFile (System.String, Byte [], System.String, System.String) используют сообщение имя 'UploadFileBasic'. Используйте свойство MessageName для настраиваемого атрибута WebMethod для указания уникальных имен сообщений для этих методов.
Веб-сервис компилируется ОК; Я не вижу, что здесь не так.