WCF请求失败,HTTP状态为405:方法不允许

mrt*_*ndi 7 wcf http-status-code-405

我有一个WCF服务,该服务已托管在Windows服务上,并使用BasicHttp端点为已连接到它的Windows Mobile设备提供服务.

问题是使用设备模拟器.我可以连接到服务并使用它没有任何问题,但使用实际的设备.我收到错误:

WCF请求失败,HTTP状态为405:方法不允许.

我使用以下代码来实现该服务.

BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
basicHttpBinding.UseDefaultWebProxy = false;

m_ServiceHost.AddServiceEndpoint(typeof(IKooft), basicHttpBinding, "KooftService");
m_ServiceHost.Open();
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

Wil*_*llH 4

检查您的 IIS 扩展,尤其是 .wsdl 的扩展是否有效:

在 IIS 中:

  • 查看您网站的属性。
  • 在主目录选项卡中,单击配置。
  • 单击添加(我的路径是“C:\Program Files (x86)\Common Files\MSSOAP\BINARIES\SOAPIS30.DLL”)
  • 将扩展名设置为 .WSDL 并允许“获取”和“发布”
  • 选择“脚本引擎”和“验证文件是否存在”

应该是这样。

  • 为了回答我自己的问题,DLL 来自已弃用的 Microsoft SOAP Toolkit。 (2认同)