1

非常に小さなテストを行う、ソースコード

データベース (SQLAzure) があり、EF5 を使用しています。

私のプロジェクトでは、次を作成します。

  • 「WCF WebRole」を使用した「クラウド」プロジェクト
  • ローカル コンピューターで自分の DB をテストするためのテスト プロジェクト
  • デプロイされた WCF サービスをテストするためのテスト プロジェクト

私のサービスには2つの方法があります:

  • 最初の名前Helloは文字列「hello」を返すだけです
  • 2 番目は を返しますint。これintは、テーブルのレコード数です。

ローカルの WCF サービスでテストしましたが、どちらの方法でも問題ありません。

Azure の場合:

  • SQLAzure データベースを作成し、テーブルとデータを設定して、「SQL Management studio 2012」からデータベースに参加できます
  • 「Pointage」という名前の Web サイト

VS2012 から:

  • WebRole プロジェクト (プロジェクトで "PointageOnAzureWcfWebRole" という名前が付けられています) を発行 ("Azure に発行") しました。サービスを確認できます:ここにリンクの説明を入力してください
  • (AzureOnline.Test を使用して) テストすると、メソッドHello()は正しい値を返し、エラーはありませんが、試してみると、次のエラーがNumberOfUser()発生します。

System.ServiceModel.FaultException : 内部エラーのため、サーバーは要求を処理できませんでした。エラーの詳細については、サーバーで (ServiceBehaviorAttribute または構成動作のいずれかから) IncludeExceptionDetailInFaults をオンにして、例外情報をクライアントに送り返すか、Microsoft .NET Framework SDK のドキュメントに従ってトレースをオンにし、サーバーのトレース ログを調べます。

connectionsgtstring は正しいです。「SQL Management Studio」のものと同じものを使用します。名前は web.config と同じです。

何が起こっているのか本当にわかりません。Azure の構成 (「Windows Azure マネージャー」) に何か問題がありますか? ダッシュボードは次のようになります。

ここに画像の説明を入力

Update1 :

<configuration>

    <system.serviceModel>

      <bindings>
        <basicHttpBinding>
          <binding name="BasicHttpBinding_IService1"
                   hostNameComparisonMode="StrongWildcard"
                   receiveTimeout="00:10:00"
                   sendTimeout="00:10:00"
                   openTimeout="00:10:00"
                   closeTimeout="00:10:00"
                   maxReceivedMessageSize="65536"
                   maxBufferSize="65536"
                   maxBufferPoolSize="524288"
                   transferMode="Buffered"
                   messageEncoding="Text"
                   textEncoding="utf-8"
                   bypassProxyOnLocal="false"
                   useDefaultWebProxy="true" >
            <security mode="None" />
          </binding>
        </basicHttpBinding>
      </bindings>

      <client>
        <endpoint address="http://pointage.azurewebsites.net/Service1.svc"
                  binding="basicHttpBinding" 
                  bindingConfiguration="BasicHttpBinding_IService1"
                  contract="PointageOnAzureOnlineService.IService1" 
                  name="BasicHttpBinding_IService1" />
      </client>
    </system.serviceModel>

</configuration>

Update2 :

サービスを公開すると、接続文字列が設定されます

ここに画像の説明を入力

4

0 に答える 0