0
說我有在IEmployService.cs指定爲這樣的服務合同:WCF-指定服務名稱和合同類型的冗餘?
namespace MyNamespace {
[ServiceContract]
public interface IEmployeeService {
/* ... */
}
}
和EmployeeService.svc實現文件:
namespace MyNamespace {
public class EmployeeService: IEmployeeService {
/* implements IEmployeeService fully */
}
}
現在,當我在網站指定我的終點。配置文件,我看到每個人都這樣做:
<system.serviceModel>
<services>
<service name="MyNamespace.EmployeeService">
<endpoint
address="basic1"
binding="basicHttpBinding"
contract="MyNamespace.IEmployeeService"
></endpoint>
</service>
</services>
<!-- other tags -->
<system.serviceModel>
好像WCF奧特能夠推斷出的合同類型是什麼,而不必指定contract="MyNamespace.IEmployeeService"
,因爲它已經有一個對EmployeeService的引用(誰實現了指定服務契約的IEmployeeService接口)。我的端點中的這個契約是否屬於絕對必要的?如果是這樣,我很想知道爲什麼。
這個契約屬性是否必要,因爲EmployeeService可能實現MULTIPLE契約?那麼我可以看到那是必要的。 – Ian