请问Visual Studio的在线支持SOAP工作项变更通知?(Does Visual Studi

2019-10-29 04:22发布

我问的原因是我已经成立了一个WCF服务下面的指导那里(具体如下),并设置在Visual Studio Online中SOAP通知和我的服务似乎并不被调用。 IIS 8.5日志显示没有打算要与VSO服务器的服务接触。

在情况下,它是支持的,这里有相关位,看看我有什么设错在服务端。

WCF服务-托管作为Azure的WebRole .NET 4.5.1

合同及其履行情况

[ServiceContract(Namespace = "http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03")]
public interface IWorkItemSubscriber
{
    [OperationContract(Action = "http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03/Notify")]
    [XmlSerializerFormat(Style = OperationFormatStyle.Document)]
    void Notify(string eventXml, string tfsIdentityXml);
}

// Note, I've tried w/ and w/out this Compatibility Attribute
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class WorkItemSubscriber : IWorkItemSubscriber
{
    public void Notify(string eventXml, string tfsIdentityXml)
    {
        // Do stuff
    }
}

Web.Config中

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5.1" />
    <customErrors mode="Off"/>
  </system.web>

  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="noSecurity">
          <security mode="None" />
        </binding>
      </wsHttpBinding>
    </bindings>

    <services>
      <service name="VsoNotificationService.Wcf.WorkItemSubscriber" behaviorConfiguration="eventServiceBehavior">
        <endpoint address="" binding="wsHttpBinding" bindingConfiguration="noSecurity" contract="VsoNotificationService.Wcf.IWorkItemSubscriber" />
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="eventServiceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" aspNetCompatibilityEnabled="true" /> <!-- note: I've tried w/ and w/out the aspNetCompatibilityEnabled attribute -->
  </system.webServer>
</configuration>

Visual Studio的在线配置

我已经证实我可以打服务,通过创造我自己的客户端和调用服务。 无论代码,我把在该方法中执行,如果通过我的Visual Studio 2013远程调试我会打的方法的断点。 因此,服务运行起来,我只是没有看到从Visual Studio在线(通过代码断点,代码内容,也没有IIS日志)的交通。 让我觉得,功能不工作呢?

Answer 1:

我看到你缺少aspNetCompatibilityEnabled="true"<serviceHostingEnvironment元素,相比于我的工作的解决方案 ,它可能是解谜的原因之一吗?

我也只有通过仔细包括所有的小配置设置取得了成功。



文章来源: Does Visual Studio Online support SOAP WorkItem change notification?