[英]IIS error hosting WCF Data Service on shared web host
我的客戶有一個托管在共享Web服務器上的網站。 我無權訪問IIS。 我正在嘗試將WCF數據服務部署到他的站點上。 我收到此錯誤:
IIS指定了身份驗證方案“ IntegratedWindowsAuthentication,Anonymous”,但是綁定僅支持僅指定一種身份驗證方案。 有效的身份驗證方案為摘要,協商,NTLM,基本或匿名。 更改IIS設置,以便僅使用單個身份驗證方案。
我已經搜索了很多SO和其他站點,但似乎找不到符合我確切情況的人。 我不能更改IIS設置,因為這是第三方服務器,並且是共享的Web服務器。 因此,我唯一的選擇是更改代碼或服務配置中的內容。 我的服務配置如下所示:
<system.serviceModel xdt:Transform="Insert">
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="http://www.somewebsite.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<bindings>
<webHttpBinding>
<binding name="{Binding Name}" >
<security mode="None" />
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="{Namespace to Service}">
<endpoint address="" binding="webHttpBinding" bindingConfiguration="{Binding Name}" contract="System.Data.Services.IRequestHandler">
</endpoint>
</service>
</services>
</system.serviceModel>
如您所見,我試圖將安全模式設置為“無”,但這似乎無濟於事。 我應該更改什么來解決此錯誤?
林也不太清楚這個,但是從閱讀此文章中,我認為你不能直接從配置設置的驗證無法比擬的。
Windows身份驗證設置是通過IIS進行的。
在調用任何數據之前,您是否嘗試過在代碼中執行此操作:
MyDataContext ctx = new MyDataContext(uri);
ctx.Credentials = System.Net.CredentialCache.DefaultCredentials;
ctx.Credentials = new NetworkCredential(
"username",
"password",
"domain");
當然,您必須具有用戶名,密碼和域。
希望有幫助=)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.