Взятый отсюда код https://github.com/jaredfaris/WCF-REST-JSON-Examples . Сделал в качестве хоста приложение WinForms. Туда скопировал файлы кода. связаные с сервисом в том числе конфиг. В форме хочу заставить сервис работать в BackgroundWorker.
| Код | private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { using (var serviceHost = new WebServiceHost(typeof(ExampleJsonpService))) { serviceHost.Open();
Console.WriteLine("WCF REST JSONP service is running..."); Console.ReadLine();
serviceHost.Close(); } }
private WebServiceHost serviceHost;
private void Form1_Load(object sender, System.EventArgs e) { //backgroundWorker1.RunWorkerAsync();
serviceHost = new WebServiceHost(typeof(ExampleJsonpService)); serviceHost.Open();
}
|
При попытке открыть сервис орет:
| Код | Служба "PVIBroker.ExampleJsonpService" не имеет конечных точек приложения (не инфраструктурных). Это может быть связано с тем, что для данного приложения не найден файл конфигурации или в файле конфигурации не удалось найти элементы службы, соответствующие данному имени службы, или конечные точки не были определены в элементе службы.
|
код конфига -
| Код | <?xml version="1.0"?> <configuration> <system.serviceModel> <bindings> <webHttpBinding> <binding name="webHttpBindingJsonP" crossDomainScriptAccessEnabled="true"></binding> </webHttpBinding> </bindings> <services> <service name="PviBroker.ExampleJsonpService" behaviorConfiguration="Default"> <host> <baseAddresses> <add baseAddress="http://localhost:8080/exampleJsonpService"></add> </baseAddresses> </host> <endpoint address="" binding="webHttpBinding" bindingConfiguration="webHttpBindingJsonP" contract="PviBroker.IExampleJsonpService"></endpoint> </service> </services> <behaviors> <serviceBehaviors> <behavior name="Default"> <serviceMetadata httpGetEnabled="true"></serviceMetadata> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> </configuration>
|
|