2011-06-14 53 views
3

當其他開發者試圖通過VS 2010中運行的服務,他們收到的錯誤:的netsh不適合AddressAccessDeniedException工作:HTTP不能註冊網址

Please try changing the HTTP port to 88 or running as Administrator. System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:88/ColorService/ . Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details). ---> System.Net.HttpListenerException: Access is denied

做一些搜索中去鏈接後微軟指定的,我讓他們運行下面的命令:

的netsh的http添加urlacl URL = HTTP:// +:88/ColorService用戶= BUILTIN \管理員

的錯誤仍然來了,所以我也有它們運行命令與他們的域\用戶

的netsh的http添加urlacl URL = HTTP:// +:88/ColorService用戶=域\用戶

以上仍然沒有工作,所以我發現了一個工具在以下link給予一個嘗試,並授予訪問NT Authority \ Interactive,但也沒有工作。

我終於恢復到給每個端點的基地址:

http:\\localhost:8732\Design_Time_Addresses\ColorService,並在此之後的工作。

爲什麼它不能與其他基地址一起工作?

我也沒有在每個端點內的任何dns節點,這是否重要?這用於什麼?我將其添加回爲:

<Host> 
    <dns>localhost<dns/> 
</Host> 

回答

2

我有這個錯誤。我有它在App.config配置了終點,如:

<host> 
<baseAddresses> 
    <add baseAddress="http://ttintlonape01:6970/janus/data" /> 
</baseAddresses> 

...但有人來了,你得到了http://+:80/janus/data

原來WCF自動放入一個端點(不知道什麼時候) - 在配置中加入< clear/>修復了它。即

<service behaviorConfiguration="ServiceBehavior" name="TT.Janus.Service.DataProvider"> 
<clear /> 
<endpoint address="net.tcp://ttintlonape01/janus/data" binding="netTcpBinding" 
    bindingConfiguration="NoSecurityBinding" contract="TT.Janus.Service.IDataProvider" /> 
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" /> 
<host> 
    <baseAddresses> 
     <add baseAddress="http://ttintlonape01:6969/janus/data" /> 
    </baseAddresses> 
</host>