我当前正在向项目中添加WCF服务,但是无法连接到该服务。我还有另外两种服务,它们的配置都可以正常工作,但是我找不到新的服务无法连接的原因。当我尝试连接到端点时,出现以下问题:
类型“ MyProject.MyServices.MyService,MyProject,版本= 1.5.8.20715,文化=中性,PublicKeyToken = PUBLICKEY”,在ServiceHost指令中作为服务属性值提供,或在配置元素system.serviceModel /中提供找不到serviceHostingEnvironment / serviceActivations。
我尝试将.svc中的Service属性设置为其他两个实现,并且它们工作正常。
myService.svc
<%@ServiceHost language="C#" Debug="true"
Factory="Microsoft.SharePoint.Client.Services.MultipleBaseAddressDataServiceHostFactory, Microsoft.SharePoint.Client.ServerRuntime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=PUBLICKEYTOKEN"
Service="MyProject.MyServices.MyService, $SharePoint.Project.AssemblyFullName$" %>
MyService.cs
/// <inheritdoc />
//[SuppressMessage("Microsoft.Security", "CA2135", Justification = "Using Level 1 Security Rules as per Chuck's SP2016 Upgrade.")]
//[SharePointPermission(SecurityAction.LinkDemand, ObjectModel = true)]
//[SharePointPermission(SecurityAction.InheritanceDemand, ObjectModel = true)]
[BasicHttpBindingServiceMetadataExchangeEndpoint]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, IncludeExceptionDetailInFaults = true)]
[ServiceContract]
public class MyService : DataService<MyDataContext>
{
private SPWeb _web;
#region Constructor
/// <summary>
/// Default constructor
/// </summary>
public MyService() : base()
{
}
#endregion
#region Methods
/// <summary>
/// Method for handling the incoming request
/// </summary>
/// <param name="args">The arguments for the request</param>
override protected void OnStartProcessingRequest(ProcessRequestArgs args)
{
}
[OperationContract]
public string AddTwoNumbers()
{
return "I love WCF Services";
}
#endregion
}
我期望出现“找不到端点”,但我收到了上述的serviceActivations错误。
答案 0 :(得分:0)
我认为WCF Web应用程序的文件/目录结构不正确,导致此问题,找不到正确的文件。
有关详细信息,请参阅以下链接。
https://social.msdn.microsoft.com/Forums/vstudio/en-US/4aab8a20-f39f-4c8d-aad2-8762ef87a66c/systemservicemodelservicehostingenvironmentserviceactivations-could-not-be-found?forum=wcf
随时让我知道问题是否仍然存在。