Может кто-нибудь объяснить мне:
Я построил действительно простой сервис wcf для тестирования.
Используя сервис PowerShell с использованием New-WebServiceProxy, я обнаружил следующее поведение:
если в сервисе wcf у меня есть такой контракт, возвращающий int
:
[OperationContract]
int GetDictionaryLength();
вызов этого метода в powershell приводит к ошибке, и определение метода не соответствует ожиданиям
PS C:\ps> $a | Get-Member getdictionarylength | fl *
TypeName:
Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1_022s_pwdservice_svc_wsdl.PWDService
Имя: GetDictionaryLength
MemberType: Method
Определение: System.Void
GetDictionaryLength (System.Int32 &,
mscorlib, версия = 4.0.0.0,
Culture = нейтрально,
PublicKeyToken = b77a5c561934e089
GetDictionaryLengthResult,
System.Boolean &, mscorlib,
Версия = 4.0.0.0, Культура = нейтральная,
PublicKeyToken = b77a5c561934e089
GetDictionaryLengthResultSpecified)
изменение договора следующим образом:
[OperationContract]
string GetDictionaryLength();
проделайте большую работу, названную в PowerShell.
Почему это?
WCF в .net 4.0
Powershell is V2