使用来自 angular 2 和 Silverlight 应用程序的相同 WCF 服务
Consume same WCF service from angular 2 and Silverlight application
目前我们有一个带有 WCF 服务(后端)的 Silverlight 应用程序(前端)。现在,我们将在不更改 WCF 服务的情况下用 Angular 2 应用程序替换 Silverlight 应用程序 - 只有 UI 会更改。
在开始 Angular 2 之前,我们在 Angular 2 中创建了一个演示应用程序来验证 WCF 服务是否与 Angular 2 一起工作,因为 Silverlight 支持 basicHttpBinding
而对于 Angular 2,我们需要使用 webHttpBinding
。目前我们正面临这方面的问题。
是否可以在 Silverlight 中同时使用一个 WCF 服务和 Angular 2?
请建议。
由于工作方式的不同,可以以多种方式使用同一个 wcf 服务。你说你面临问题,但你没有说出它们是什么。
WCF 服务有端点。
它是通过 basicHttpBinding 或 webHttpBinding 或其他任何方式定义连接的端点。
一项服务可以有多个端点。
这些在您的配置中定义。
如果您查看那里,您将看到所有基本的 httpbinding 端点。
为您的一项服务添加一项,然后使用 angular 试一试。
这是 webHttpbinding 的样子:
https://weblogs.asp.net/kiyoshi/wcf-using-webhttpbinding-for-rest-services
那里还有一些针对一些常见问题的建议。
WCF 的这一方面的设置非常繁琐。
可想而知re-using同样的wcf服务是不会实用的。
在这种情况下,我会建议将代码移植到 Web api(尽管我认为他们可能已将其重命名为当前版本)。编写大多数东西非常容易,因为它们只是具有指定路由属性的方法。
是的,您可以先使用 wcf 服务 我建议您升级 angular 4,因为 angular 2 中有很多错误,下面是 angular 4 服务示例代码。
angular 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());
};
}
目前我们有一个带有 WCF 服务(后端)的 Silverlight 应用程序(前端)。现在,我们将在不更改 WCF 服务的情况下用 Angular 2 应用程序替换 Silverlight 应用程序 - 只有 UI 会更改。
在开始 Angular 2 之前,我们在 Angular 2 中创建了一个演示应用程序来验证 WCF 服务是否与 Angular 2 一起工作,因为 Silverlight 支持 basicHttpBinding
而对于 Angular 2,我们需要使用 webHttpBinding
。目前我们正面临这方面的问题。
是否可以在 Silverlight 中同时使用一个 WCF 服务和 Angular 2? 请建议。
由于工作方式的不同,可以以多种方式使用同一个 wcf 服务。你说你面临问题,但你没有说出它们是什么。
WCF 服务有端点。 它是通过 basicHttpBinding 或 webHttpBinding 或其他任何方式定义连接的端点。 一项服务可以有多个端点。 这些在您的配置中定义。 如果您查看那里,您将看到所有基本的 httpbinding 端点。 为您的一项服务添加一项,然后使用 angular 试一试。 这是 webHttpbinding 的样子: https://weblogs.asp.net/kiyoshi/wcf-using-webhttpbinding-for-rest-services 那里还有一些针对一些常见问题的建议。 WCF 的这一方面的设置非常繁琐。 可想而知re-using同样的wcf服务是不会实用的。 在这种情况下,我会建议将代码移植到 Web api(尽管我认为他们可能已将其重命名为当前版本)。编写大多数东西非常容易,因为它们只是具有指定路由属性的方法。
是的,您可以先使用 wcf 服务 我建议您升级 angular 4,因为 angular 2 中有很多错误,下面是 angular 4 服务示例代码。
angular 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());
};
}