2017-08-18 10 views
0

Visual Studio 2015からVisual Studio 2017にアップグレードしました。次のコードは、Azure App Servicesにデプロイされたときと、Visual Studio 2015 。しかし、Visual Studioの2017年にデバッグするとき、それは例外をスロー:VS2015とVS2017 IIS Expressはデバッグのために使用されているためVisual Studioでデバッグする際に「リクエストはこのコンテキストでは使用できません」20130

要求は、この文脈で

利用できません。 VS2017でIIS 10.0 Express(10.0.1737)がインストールされましたが、VS2015でどのバージョンが使用されたのか分かりません。

コードは、ASP.NET 4.5.2 Azure API Appテンプレートに基づくC#です。 Azureイベントハブからの購読イベント用の受信機を登録します。

using System; 
using System.Web.Http; 
using System.Web.Http.Cors; 
using System.Configuration; 
using Microsoft.Azure.EventHubs; 
using Microsoft.Azure.EventHubs.Processor; 
using Microsoft.ApplicationInsights; 
using System.Collections.Generic; 

namespace .... 

public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     { 
      // Web API configuration and services 
      config.EnableCors(); 
      // Web API routes 
      config.MapHttpAttributeRoutes(); 

      try 
      { 
       Console.WriteLine("Registering EventProcessor..."); 

       ... 

       var eventProcessorHost = new EventProcessorHost(
         EhEntityPath, 
         EhConsumerGroup, 
         EhConnectionString, 
         StorageConnectionString, 
         StorageContainerName 
         ); 

       // Registers the Event Processor Host and starts receiving messages 
       eventProcessorHost.RegisterEventProcessorAsync<Helper.EventProcessor>(); 
      } 
      catch (Exception ex) 
... 

例外がライン

eventProcessorHost.RegisterEventProcessorAsync<Helper.EventProcessor>(); 

でスローしかし、この問題は、Azureのイベント・ハブに関連すると思われるありません。アプリケーションInsightsのイベントを作成しようとしたとき、私はglobal.asax.csにも、この例外を取得しているので:

new TelemetryClient().TrackEvent("Application started"); 

私は例外に関するいくつかの他の記事があります知っている「要求はこのコンテキストでは使用できません」が、これは特別のようですVS2017の動作。

私のローカル環境は次のとおりです。

Microsoft Visual Studio Enterprise 2017 
Version 15.2 (26430.16) Release 
VisualStudio.15.Release/15.2.0+26430.16 
Microsoft .NET Framework 
Version 4.7.02046 

Installed Version: Enterprise 

Visual C# 2017 00369-60000-00001-AA377 
Microsoft Visual C# 2017 

Application Insights Tools for Visual Studio Package 8.6.00404.2 
Application Insights Tools for Visual Studio 

ASP.NET and Web Tools 2017 15.0.30503.0 
ASP.NET and Web Tools 2017 

ASP.NET Web Frameworks and Tools 2017 5.2.50303.0 

Azure App Service Tools v3.0.0 15.0.30209.0 
Azure App Service Tools v3.0.0 

Common Azure Tools 1.9 
+0

Webアプリケーションの同じコードがvs2017ではなくvs2015でローカルにデバッグできることを意味しますか?インストールしたIIS Expressのバージョンは何ですか?私は私のApiControllerで 'TrackEvent'を呼びました。 –

+0

はい、vs2017、vs2015、Azure App Serviceへのデプロイ時とまったく同じコードです。 vs2017ではIIS 10.0 Express(10.0.1737)を実行しています。 ソリューションの管理パイプラインモードが統合されています。 –

答えて

0

あなたの説明によると、私は私の側にASP.NET 4.5.2 AzureのAPIアプリケーションアプリケーションを作成し、VS2015(エンタープライズ、バージョン14.0.25431.01アップデートでそれをデバッグ3)とVS2017(エンタープライズプレビュー、バージョン15.3.0プレビュー7.1)をIIS Express(10.0.14358.100)で使用すると、両方とも正常にデバッグでき、カスタムイベントとメトリックをアプリケーションの洞察に送ることができました。

問題を絞り込むために、デバッグせずにVS経由でアプリケーションを起動するか、cmd.exeを使用してiisexpress /path:"c:\myapp\" /port:80を実行して、アプリケーションが期待どおりに動作するかどうかを確認することをお勧めします。

0

すべてのコンポーネントでVS2017をアンインストールし、最新のバージョン15.3.3を再インストールしました。コードが実行されます。最初のインストールで何が問題になったのかはわかりません。

関連する問題