2011-11-22 84 views
2

我試圖創建下面從這裏說明WCF客戶端通用: Execute a one-way wcf service operation from powershell來自其他組件

下面是在制動

$contractDescription = [System.ServiceModel.Description.ContractDescription]::GetContract([Iinterface]) 
$serviceEndpoint = New-Object System.ServiceModel.Description.ServiceEndpoint $contractDescription 
$channelFactory = New-Object "System.ServiceModel.ChannelFactory``1[Iinterface]" $serviceEndpoint 

我的界面存儲在單獨的程序的代碼段,我有Add-Typed。更令人不解的是我這個

$contractDescription = [System.ServiceModel.Description.ContractDescription]::GetContract([Iinterface]) 

工作得很好,但

$channelFactory = New-Object "System.ServiceModel.ChannelFactory``1[Iinterface]" $serviceEndpoint 

與失敗:

新對象:找不到類型[System.ServiceModel.ChannelFactory `1 [Iinterface]]:確保包含此類型的程序集已加載。 在C:\用戶\ amarchuk \應用程序數據\本地的\ Temp \ 1 \ bbc2b1ab-fe3a-4982-a561-2bfe926b7362.ps1:29字符:29 + $ =的ChannelFactory新對象< < < <「System.ServiceModel。 ChannelFactory``1 [Iinterface]」 $ serviceEndpoint + CategoryInfo:InvalidType:(:) [新對象],PSArgumentException + FullyQualifiedErrorId:TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

周圍有沒有亂了語法仿製藥? 感謝

回答

0

的解決方法是使用

$channelFactory = New-Object 'System.ServiceModel.ChannelFactory``1[System.Object] 
0

試試這個:

$channelFactory = New-Object 'System.ServiceModel.ChannelFactory``1'([Iinterface]) 

編輯:

$channelFactory = New-Object -typename 'System.ServiceModel.ChannelFactory``1'([Iinterface]) 

,但我可以測試它。

+0

這給出:位置參數不能被發現,接受參數「System.ServiceModel.Description.ServiceEndpoint」。 –

+1

嘗試下面我的編輯 –

+0

給人同樣的錯誤,任何其他的想法?謝謝你的時間! –