gpt4 book ai didi

asp.net - 使用 IIS 时方法不允许 405

转载 作者:行者123 更新时间:2023-12-02 12:13:09 24 4
gpt4 key购买 nike

我有以下 WCF:

    [OperationContract]
IList<OperationRoomDto> GetOperationRooms();

我有一个使用此 WCF 的网站,当我使用 Visual studio(Asp.Net 开发服务器)时,它工作正常,但是当我将 WCF 部署到 IIS 时,我收到此异常:

The remote server returned an error: (405) Method Not Allowed.

我制作了一个简单的网站来测试此 WCF(在 IIS 上)并且它有效。

这是网站 web.config 文件的一部分:

  <endpoint address="http://server/WcfService"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMessageService"
contract="MyProject.Web.Wcf.IMessageService" name="BasicHttpBinding_IMessageService">
</endpoint>

以及 Web 服务配置文件的这一部分:

  <system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

我尝试调试 w3wp.exe 服务以获取任何隐藏的异常,我在 Web 服务方法处放置了一个断点,但调试器甚至没有到达那里,并且异常发生在到达 Web 服务类之前.

最佳答案

我发现问题了,是因为wcf的Url不正确,缺少服务文件名

<endpoint address="http://server/WcfService"

它应该变成:

<endpoint address="http://server/WcfService/Service.svc"

关于asp.net - 使用 IIS 时方法不允许 405,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12658809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com