Bla*_*man 19 configuration wcf iis-6 web-services
试图让我的WCF服务在IIS 6下运行.
我创建了.svc并aspnet_isapi.dll映射根据:http://msdn.microsoft.com/en-us/library/ms752241.aspx
查看Server1.svc页面时,我得到的是404.
我已经使用简单的.aspx页面测试了该站点,以确保URL正常工作,但同样不再使用.svc扩展名.
我安装了.NET 3.5 SP1,我web.config正在引用3.5程序集,并且在查看.aspx页面时我没有收到错误,所以它可能会正确地选择那些程序集.
可能有什么不对?
Paw*_*ich 20
很可能.svc扩展名未在IIS下注册为由ASP.NET(WCF)处理.
尝试这两个步骤(如果需要,用Framework64替换Framework):
去:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\
Run Code Online (Sandbox Code Playgroud)
然后运行:
aspnet_regiis -i
Run Code Online (Sandbox Code Playgroud)
转到:C:\ Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation
然后运行:
ServiceModelReg.exe -i
Run Code Online (Sandbox Code Playgroud)
Eug*_*ota 17
在Internet Information Service (IIS) Manager,打开调用的节点Web Service Extension.确保将ASP.NET v2.0.5.0727其设置为"允许".我花了几个小时寻找不同的设置,发现它被设置为禁止.只需单击"允许"按钮即可启用ASP.NET.
我能想到两件事:
.svc扩展名未正确设置(根据您的描述最不可能).您可以查看此帖子了解更多详情.
或者您的网站有多个主机标头.要解决此问题,您必须具有单个主机标头或使用工厂.这是一个例子:
namespace MyNamespace
{
public class MultipleHostServiceFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
List<Uri> addresses = new List<Uri>();
addresses.Add(baseAddresses[0]);
return base.CreateServiceHost(serviceType, addresses.ToArray());
}
}
}
Run Code Online (Sandbox Code Playgroud)
接下来,您需要在.svc文件的标记中设置工厂:
<%@ ServiceHost Language="C#"
Debug="false"
Factory="MyNamespace.MultipleHostServiceFactory"
Service="MyNamespace.MyService"
CodeBehind="MyService.svc.cs" %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27645 次 |
| 最近记录: |