所以我創建了我的公共WCF服務,它是可訪問的,並且它可以工作。但是,我注意到在檢索wsdl中的可用方法時,有些方法可供公衆使用,我不希望這些方法可以訪問。如何創建只有我可以通過WCF訪問的公共端點和本地端點?
例子:
public interface IJobs {
List<Jobs> GetAllJobs(); //Good
}
public interface IJobManagement {
void AddNewJob(Jobs job); //Bad
}
配置
<services>
<service name="Services.Data.PublishService" >
<clear/>
<endpoint address="JobsHttp" binding="basicHttpBinding" contract="Services.Data.IJobs" ></endpoint>
<endpoint address="JobsTCP" binding="netTcpBinding" contract="Services.Data.IJobManagement" />
<endpoint binding="mexHttpBinding" name="httpmex" contract="IMetadataExchange"></endpoint>
<endpoint binding="mexTcpBinding" name="mex" contract="IMetadataExchange"></endpoint>
<host>
<baseAddresses>
<add baseAddress="http://localhost:9000/"/>
<add baseAddress="net.tcp://localhost:9001"/>
</baseAddresses>
</host>
</service>
</services>
我想,也許創造一個新的端點將解決我的問題,但在這個配置中它什麼也沒做,我知道爲什麼了。我只是想弄清楚如何將IJobManagement從圖片中公開出來,並且只能在本地網絡上訪問。
這是我的服務類,我的方法存在於那裏。
public class PublishService : IJobs, IJobsTCP { //Methods are in here. }
編輯
而且進一步說明,當一個新作業添加我還有一個WCF服務,將推動這個WCF服務,並修改List<Jobs>
這是基於AD組,我假設? – meanbunny
這將是一個肯定! – meanbunny
對於這個答案還有一個問題,如果我正在本地系統帳戶中運行另一項服務,我將如何在該服務帳戶的所述方法上允許安全性? – meanbunny