Angularjs 从angular 2和Silverlight应用程序使用相同的WCF服务

Angularjs 从angular 2和Silverlight应用程序使用相同的WCF服务,angularjs,wpf,wcf,xmlhttprequest,silverlight-4.0,Angularjs,Wpf,Wcf,Xmlhttprequest,Silverlight 4.0,目前,我们有一个Silverlight应用程序(前端)和WCF服务(后端)。现在,我们将用Angular 2应用程序替换Silverlight应用程序,而不更改WCF服务-只有UI会更改 在开始使用Angular 2之前,我们已经在Angular 2中创建了一个演示应用程序,以验证WCF服务是否与Angular 2一起工作,因为Silverlight支持basicHttpBinding,对于Angular 2,我们需要使用webHttpBinding。目前我们正面临这方面的问题 是否可以在Sil

目前,我们有一个Silverlight应用程序(前端)和WCF服务(后端)。现在,我们将用Angular 2应用程序替换Silverlight应用程序,而不更改WCF服务-只有UI会更改

在开始使用Angular 2之前,我们已经在Angular 2中创建了一个演示应用程序,以验证WCF服务是否与Angular 2一起工作,因为Silverlight支持
basicHttpBinding
,对于Angular 2,我们需要使用
webHttpBinding
。目前我们正面临这方面的问题

是否可以在Silverlight和Angular 2中并行使用一个WCF服务?
请建议

由于一个wcf服务的工作方式,它可以以多种方式使用。你说你面临问题,但你没有说它们是什么

WCF服务具有端点。 它是通过basicHttpBinding或webHttpBinding或其他方式定义连接的端点。 一个服务可以有多个端点。 这些是在您的配置中定义的。 如果您查看一下,您将看到所有basichttpbinding端点。 为您的一项服务添加一个,并尝试使用angular。 这就是webHttpbinding的外观: 对于一些常见问题也有一些建议。 WCF的这一方面的设置非常灵活。 可以想象,重复使用相同的wcf服务是不现实的。
在这种情况下,我建议将代码移植到WebAPI(尽管我认为他们可能已经在当前版本中重命名了它)。编写大多数内容非常简单,因为它们只是具有指定路由的属性的方法。

是的,您可以先使用wcf服务,我建议您使用angular 4升级,因为angular 2中有很多错误,下面是angular 4服务示例代码

角度4服务

import { Injectable } from '@angular/core';
import {Http,Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';


@Injectable()
export class SampleService {
constructor(private _http: Http) { 

 };
getSample(Id) : Observable<any>{    
  return this._http.get('sample.svc/sample?Id='+Id)
.map((response:Response)=><any>response.json());
};  

}
从'@angular/core'导入{Injectable};
从'@angular/Http'导入{Http,Response};
从“rxjs/Observable”导入{Observable};
导入'rxjs/add/operator/map';
@可注射()
导出类示例服务{
构造函数(私有http:http){
};
getSample(Id):可观察的{
返回此值。_http.get('sample.svc/sample?Id='+Id)
.map((response:response)=>response.json());
};  
}

如果您的问题已经解决,请接受这些解决方案