データベースと通信するための WCF サービスを作成しました。まず、Helloworld!
正常に動作するサンプル メソッドを作成しました。
しかし、実際のメソッドを呼び出そうとすると、次の例外が発生します
http://10.11.32.211:87/Service.svcへの HTTP 応答の受信中にエラーが発生しました。これは、サービス エンドポイント バインディングが HTTP プロトコルを使用していないことが原因である可能性があります。
ブラウザで
既存の接続がリモート ホストによって強制的に閉じられました
私の web.config ファイル
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
<!--<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>-->
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
<services>
<service behaviorConfiguration="ServiceBehavior" name="Service">
<endpoint address="" binding="basicHttpBinding" contract="IService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
<serviceThrottling maxConcurrentCalls="3000" maxConcurrentSessions="3000" maxConcurrentInstances="3000"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
これらのリンクをたどりましたが、うまくいきませんでした MSDN LINK1
編集
実際に私がこのサービスで行っていることは、サーバー上でストアド プロシージャを実行することです。
using (con = new SqlConnection(connectionString))
{
using (cmd = new SqlCommand(selectStatement, con) { CommandType = CommandType.StoredProcedure })
{
adapter = new SqlDataAdapter(cmd);
table = new DataTable();
adapter.Fill(table);
return table;
}
}
別の Web サイトから手動で同じストアド プロシージャを呼び出すことはできますが、このサービスを使用することはできません....
それは何ですか?そして、なぜこれが来るのですか?