嘗試在F#交互運行此:F#互動對F#的解決方案和WCF
#r "System.ServiceModel"
#r "System.Runtime.Serialization"
open System.ServiceModel
[<ServiceContract>]
type IWCF =
[<OperationContract>]
abstract Ping: float -> unit
type WCF() =
interface IWCF with
member o.Ping a = printfn "Hello, %g" a
let svh = new ServiceHost (typeof<WCF>)
你可能會成功。嘗試制定新的解決方案。
參考:
- System.Runtime.Serialization
- System.ServiceModel
下面的代碼粘貼到Program.fs
:
open System.ServiceModel
[<ServiceContract>]
type IWCF =
[<OperationContract>]
abstract Ping: float -> unit
type WCF() =
interface IWCF with
member o.Ping a = printfn "Hello, %g" a
let svh = new ServiceHost (typeof<WCF>)
並運行它。我收到以下錯誤:
All parameter names used in operations that make up a service contract must not be null. Parameter name: name
出了什麼問題?
PS:我使用Visual Studio 2010旗艦版SP1
編輯:只是爲了確保,在C#相當於正常工作
你有沒有加倍檢查以確定你的目標是.NET運行時的正確版本?我記得,在VS 2010中,F#控制檯應用程序的默認值是.NET 4客戶端配置文件,它不是*完整的.NET配置文件,有時會導致這種「它在此工作但不存在」類型的的問題。 – pblasucci