0

インターフェース:

[OperationContract]
[WebGet(UriTemplate = "GetAll",
BodyStyle = WebMessageBodyStyle.Wrapped)]
List<Custom> GetAll();

//Custom は edmx/mssql のエンティティです

Add service referenceインターフェイスとデータベースに基づいてVisualStudioクラスのツールで生成しました(Customテーブル)

App.config:

<?xml version="1.0" encoding="utf-8"?>
  <system.serviceModel>
    <services>
      <service name="CustomService" behaviorConfiguration="rest">
        <endpoint address="" binding="webHttpBinding" bindingConfiguration="" behaviorConfiguration="webHttpBehavior"
                  contract="ICustomService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="webHttpBehavior">
          <webHttp />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="rest">
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

クライアント:

WebChannelFactory<ICustomService> cf = new WebChannelFactory<ICustomService>(
    new Uri("http://172.30.1.2/Design_Time_Addresses/ICustomService"));
ICustomService channel = cf.CreateChannel();
var result = channel.GetAll();//here I get exception

この方法を正しく使用するには?

4

0 に答える 0