gpt4 book ai didi

asp.net - Windows Server 2012 中的 .svc 文件以 "405 Method not Allowed"响应

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

当我使用 .svc-ASP.Net 4 服务将我的网站从 Windows Server 2008 复制到 Windows Server 2012 时,Silverlight 应用程序触发的每个 .svc-Request 都会收到 405 响应。

在 Windows Server 2008 中,一切都运行良好。

我尝试了 aspnet_regiis 和 WCF Register (ServiceModelReg)。 .svc 文件也包含在 IIS 8 的模块映射中。我还卸载了 ASP.NET 4.5+3.5 并重新安装了它和 WCF HTTP 托管。

所有网站都受到此迁移的影响。

要求:

POST /Data/search.svc HTTP/1.1
Accept */*

回复:
HTTP/1.1 405 Method Not Allowed
Allow: GET, HEAD, OPTIONS, TRACE

文件如下所示,我还尝试添加“WebInvoke”。
[ServiceContract]
public interface IPackages
{
/// <summary>
/// Gets a package by a public key
/// </summary>
/// <param name="publicKey">Used public key</param>
/// <returns>Information about the package</returns>
[OperationContract]
PackageInformation GetPackageByPublicKey(string publicKey);

// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Packages" in code, svc and config file together.
public class Packages : IPackages
{
/// <summary>
/// Gets a package by a public key
/// </summary>
/// <param name="publicKey">Used public key</param>
/// <returns>Information about the package</returns>
public PackageInformation GetPackageByPublicKey(string publicKey)
{
return packageManager.GetPackageByPublicKey(publicKey);
}
}

感谢您的任何提示。

最佳答案

在 Windows 2012 上,您需要转到服务器管理器,然后添加角色和功能。单击下一步几次,直到进入“服务器角色”选项。从那里展开应用程序服务器并选择“Web 服务器 (IIS) 支持”。接下来,您需要选择 Http Activation 和 TCP Activation(我都做了),这就是在 2012 上启用 WCF 支持的原因。

它应该为您选择所有必要的依赖项,但您可能还需要转到“Web 服务器(IIS)”部分,然后是“应用程序开发”并选择您需要的 ASP.NET 选项(我已经安装了这些选项首先,所以我不知道是否有必要这样做,如果只做支持选项)。这将为您创建 .svc 处理程序。

关于asp.net - Windows Server 2012 中的 .svc 文件以 "405 Method not Allowed"响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14082950/

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