use-wcf-service ソースコード全文
WCFServiceTest1.sln
Microsoft Visual Studio Solution File, Format Version 12.00# Visual Studio Version 17VisualStudioVersion = 17.10.35004.147MinimumVisualStudioVersion = 10.0.40219.1Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "WCFServiceTest1", "WCFServiceTest1\", "{28A296D9-92E2-4B72-988B-72C7BB375738}" ProjectSection(WebsiteProperties) = preProject TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.8" Debug.AspNetCompiler.VirtualPath = "/localhost_64761" Debug.AspNetCompiler.PhysicalPath = "WCFServiceTest1\" Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_64761\" Debug.AspNetCompiler.Updateable = "true" Debug.AspNetCompiler.ForceOverwrite = "true" Debug.AspNetCompiler.FixedNames = "false" Debug.AspNetCompiler.Debug = "True" Release.AspNetCompiler.VirtualPath = "/localhost_64761" Release.AspNetCompiler.PhysicalPath = "WCFServiceTest1\" Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_64761\" Release.AspNetCompiler.Updateable = "true" Release.AspNetCompiler.ForceOverwrite = "true" Release.AspNetCompiler.FixedNames = "false" Release.AspNetCompiler.Debug = "False" VWDPort = "64761" SlnRelativePath = "WCFServiceTest1\" DefaultWebSiteLanguage = "Visual C#" EndProjectSectionEndProjectGlobal GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {28A296D9-92E2-4B72-988B-72C7BB375738}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {28A296D9-92E2-4B72-988B-72C7BB375738}.Debug|Any CPU.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {2D3BBB51-5065-4C4F-B88E-E5390CEC627A} EndGlobalSectionEndGlobalWCFServiceTest1/App_Code/IMyService.cs
using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.Text;
// メモ: [リファクター] メニューの [名前の変更] コマンドを使用すると、コードと config ファイルの両方で同時にインターフェイス名 "IMyService" を変更できます。[ServiceContract]public interface IMyService{ //[OperationContract] //void DoWork();
[OperationContract] MyEntity GetEntity(int id);
[OperationContract] void SaveEntity(MyEntity entity);}
[DataContract]public class MyEntity{ [DataMember] public int ID { get; set; }
[DataMember] public string Name { get; set; }}WCFServiceTest1/App_Code/MyService.cs
using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.Text;
// メモ: [リファクター] メニューの [名前の変更] コマンドを使用すると、コード、svc、および config ファイルで同時にクラス名 "MyService" を変更できます。public class MyService : IMyService{ //public void DoWork() //{ //} public MyEntity GetEntity(int id) { MyEntity entity = new MyEntity { ID = id, Name = "Name " + id.ToString() };
return entity; }
public void SaveEntity(MyEntity entity) { System.Diagnostics.Debug.WriteLine("SaveEntity here..."); }}WCFServiceTest1/App_WebReferences/ServiceReference1/configuration.svcinfo
<?xml version="1.0" encoding="utf-8"?><configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot"> <behaviors /> <bindings> <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="BasicHttpBinding_IMyService" />" bindingType="basicHttpBinding" name="BasicHttpBinding_IMyService" /> </bindings> <endpoints> <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost:52447/MyService/MyService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyService" contract="ServiceReference1.IMyService" name="BasicHttpBinding_IMyService" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost:52447/MyService/MyService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyService" contract="ServiceReference1.IMyService" name="BasicHttpBinding_IMyService" />" contractName="ServiceReference1.IMyService" name="BasicHttpBinding_IMyService" /> </endpoints></configurationSnapshot>WCFServiceTest1/App_WebReferences/ServiceReference1/configuration91.svcinfo
<?xml version="1.0" encoding="utf-8"?><SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="bw9dbBX90Qo1qdass8eg+64wxh8="> <bindingConfigurations> <bindingConfiguration bindingType="basicHttpBinding" name="BasicHttpBinding_IMyService"> <properties> <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>BasicHttpBinding_IMyService</serializedValue> </property> <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>StrongWildcard</serializedValue> </property> <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>65536</serializedValue> </property> <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue> </property> <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>0</serializedValue> </property> <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>0</serializedValue> </property> <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>0</serializedValue> </property> <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>0</serializedValue> </property> <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>0</serializedValue> </property> <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.Text.UTF8Encoding</serializedValue> </property> <property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>Buffered</serializedValue> </property> <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>Text</serializedValue> </property> <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue> </property> <property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>None</serializedValue> </property> <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue> </property> <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>None</serializedValue> </property> <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>None</serializedValue> </property> <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue> </property> <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>Never</serializedValue> </property> <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>TransportSelected</serializedValue> </property> <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>(コレクション)</serializedValue> </property> <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue> </property> <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>UserName</serializedValue> </property> <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>Default</serializedValue> </property> </properties> </bindingConfiguration> </bindingConfigurations> <endpoints> <endpoint name="BasicHttpBinding_IMyService" contract="ServiceReference1.IMyService" bindingType="basicHttpBinding" address="http://localhost:52447/MyService/MyService.svc" bindingConfiguration="BasicHttpBinding_IMyService"> <properties> <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>http://localhost:52447/MyService/MyService.svc</serializedValue> </property> <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>basicHttpBinding</serializedValue> </property> <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>BasicHttpBinding_IMyService</serializedValue> </property> <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>ServiceReference1.IMyService</serializedValue> </property> <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue> </property> <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue><Header /></serializedValue> </property> <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue> </property> <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue> </property> <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue> </property> <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue> </property> <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue> </property> <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue> </property> <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue> </property> <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>My</serializedValue> </property> <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>LocalMachine</serializedValue> </property> <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>FindBySubjectDistinguishedName</serializedValue> </property> <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>False</serializedValue> </property> <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue>BasicHttpBinding_IMyService</serializedValue> </property> <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <serializedValue /> </property> </properties> </endpoint> </endpoints></SavedWcfConfigurationInformation>WCFServiceTest1/App_WebReferences/ServiceReference1/MyService.disco
<?xml version="1.0" encoding="utf-8"?><discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/"> <contractRef ref="http://localhost:52447/MyService/MyService.svc?wsdl" docRef="http://localhost:52447/MyService/MyService.svc" xmlns="http://schemas.xmlsoap.org/disco/scl/" /></discovery>WCFServiceTest1/App_WebReferences/ServiceReference1/MyService.wsdl
<?xml version="1.0" encoding="utf-8"?><wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://tempuri.org/" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="MyService" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <xsd:schema targetNamespace="http://tempuri.org/Imports"> <xsd:import schemaLocation="http://localhost:52447/MyService/MyService.svc?xsd=xsd0" namespace="http://tempuri.org/" /> <xsd:import schemaLocation="http://localhost:52447/MyService/MyService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" /> <xsd:import schemaLocation="http://localhost:52447/MyService/MyService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/" /> </xsd:schema> </wsdl:types> <wsdl:message name="IMyService_GetEntity_InputMessage"> <wsdl:part name="parameters" element="tns:GetEntity" /> </wsdl:message> <wsdl:message name="IMyService_GetEntity_OutputMessage"> <wsdl:part name="parameters" element="tns:GetEntityResponse" /> </wsdl:message> <wsdl:message name="IMyService_SaveEntity_InputMessage"> <wsdl:part name="parameters" element="tns:SaveEntity" /> </wsdl:message> <wsdl:message name="IMyService_SaveEntity_OutputMessage"> <wsdl:part name="parameters" element="tns:SaveEntityResponse" /> </wsdl:message> <wsdl:portType name="IMyService"> <wsdl:operation name="GetEntity"> <wsdl:input wsaw:Action="http://tempuri.org/IMyService/GetEntity" message="tns:IMyService_GetEntity_InputMessage" /> <wsdl:output wsaw:Action="http://tempuri.org/IMyService/GetEntityResponse" message="tns:IMyService_GetEntity_OutputMessage" /> </wsdl:operation> <wsdl:operation name="SaveEntity"> <wsdl:input wsaw:Action="http://tempuri.org/IMyService/SaveEntity" message="tns:IMyService_SaveEntity_InputMessage" /> <wsdl:output wsaw:Action="http://tempuri.org/IMyService/SaveEntityResponse" message="tns:IMyService_SaveEntity_OutputMessage" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="BasicHttpBinding_IMyService" type="tns:IMyService"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="GetEntity"> <soap:operation soapAction="http://tempuri.org/IMyService/GetEntity" style="document" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="SaveEntity"> <soap:operation soapAction="http://tempuri.org/IMyService/SaveEntity" style="document" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="MyService"> <wsdl:port name="BasicHttpBinding_IMyService" binding="tns:BasicHttpBinding_IMyService"> <soap:address location="http://localhost:52447/MyService/MyService.svc" /> </wsdl:port> </wsdl:service></wsdl:definitions>WCFServiceTest1/App_WebReferences/ServiceReference1/MyService.xsd
<?xml version="1.0" encoding="utf-8"?><xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import schemaLocation="http://localhost:52447/MyService/MyService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/" /> <xs:element name="GetEntity"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="id" type="xs:int" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="GetEntityResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/" minOccurs="0" name="GetEntityResult" nillable="true" type="q1:MyEntity" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="SaveEntity"> <xs:complexType> <xs:sequence> <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/" minOccurs="0" name="entity" nillable="true" type="q2:MyEntity" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="SaveEntityResponse"> <xs:complexType> <xs:sequence /> </xs:complexType> </xs:element></xs:schema>WCFServiceTest1/App_WebReferences/ServiceReference1/MyService1.xsd
<?xml version="1.0" encoding="utf-8"?><xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="MyEntity"> <xs:sequence> <xs:element minOccurs="0" name="ID" type="xs:int" /> <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:element name="MyEntity" nillable="true" type="tns:MyEntity" /></xs:schema>WCFServiceTest1/App_WebReferences/ServiceReference1/MyService2.xsd
<?xml version="1.0" encoding="utf-8"?><xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="anyType" nillable="true" type="xs:anyType" /> <xs:element name="anyURI" nillable="true" type="xs:anyURI" /> <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" /> <xs:element name="boolean" nillable="true" type="xs:boolean" /> <xs:element name="byte" nillable="true" type="xs:byte" /> <xs:element name="dateTime" nillable="true" type="xs:dateTime" /> <xs:element name="decimal" nillable="true" type="xs:decimal" /> <xs:element name="double" nillable="true" type="xs:double" /> <xs:element name="float" nillable="true" type="xs:float" /> <xs:element name="int" nillable="true" type="xs:int" /> <xs:element name="long" nillable="true" type="xs:long" /> <xs:element name="QName" nillable="true" type="xs:QName" /> <xs:element name="short" nillable="true" type="xs:short" /> <xs:element name="string" nillable="true" type="xs:string" /> <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" /> <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" /> <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" /> <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" /> <xs:element name="char" nillable="true" type="tns:char" /> <xs:simpleType name="char"> <xs:restriction base="xs:int" /> </xs:simpleType> <xs:element name="duration" nillable="true" type="tns:duration" /> <xs:simpleType name="duration"> <xs:restriction base="xs:duration"> <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" /> <xs:minInclusive value="-P10675199DT2H48M5.4775808S" /> <xs:maxInclusive value="P10675199DT2H48M5.4775807S" /> </xs:restriction> </xs:simpleType> <xs:element name="guid" nillable="true" type="tns:guid" /> <xs:simpleType name="guid"> <xs:restriction base="xs:string"> <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" /> </xs:restriction> </xs:simpleType> <xs:attribute name="FactoryType" type="xs:QName" /> <xs:attribute name="Id" type="xs:ID" /> <xs:attribute name="Ref" type="xs:IDREF" /></xs:schema>WCFServiceTest1/App_WebReferences/ServiceReference1/Reference.svcmap
<?xml version="1.0" encoding="utf-8"?><ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="de406168-8e38-4189-9525-13559ea0aa1c" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap"> <ClientOptions> <GenerateAsynchronousMethods>false</GenerateAsynchronousMethods> <GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod> <EnableDataBinding>true</EnableDataBinding> <ExcludedTypes /> <ImportXmlTypes>false</ImportXmlTypes> <GenerateInternalTypes>false</GenerateInternalTypes> <GenerateMessageContracts>false</GenerateMessageContracts> <NamespaceMappings /> <CollectionMappings /> <GenerateSerializableTypes>true</GenerateSerializableTypes> <Serializer>Auto</Serializer> <UseSerializerForFaults>true</UseSerializerForFaults> <ReferenceAllAssemblies>true</ReferenceAllAssemblies> <ReferencedAssemblies /> <ReferencedDataContractTypes /> <ServiceContractMappings /> </ClientOptions> <MetadataSources> <MetadataSource Address="http://localhost:52447/MyService/MyService.svc" Protocol="http" SourceId="1" /> </MetadataSources> <Metadata> <MetadataFile FileName="MyService.disco" MetadataType="Disco" ID="2b79ae19-5f62-4b3c-bf63-ba94e82c9b3c" SourceId="1" SourceUrl="http://localhost:52447/MyService/MyService.svc?disco" /> <MetadataFile FileName="MyService.wsdl" MetadataType="Wsdl" ID="83b9e857-3dbd-4251-89ea-cd030a4cd83d" SourceId="1" SourceUrl="http://localhost:52447/MyService/MyService.svc?wsdl" /> <MetadataFile FileName="MyService.xsd" MetadataType="Schema" ID="f924a2ac-fb92-45a9-8ca6-81906fd54c09" SourceId="1" SourceUrl="http://localhost:52447/MyService/MyService.svc?xsd=xsd0" /> <MetadataFile FileName="MyService1.xsd" MetadataType="Schema" ID="8e0eea75-2ad8-47b6-be3d-859c5b03ab2d" SourceId="1" SourceUrl="http://localhost:52447/MyService/MyService.svc?xsd=xsd2" /> <MetadataFile FileName="MyService2.xsd" MetadataType="Schema" ID="b1cdaa71-0880-4efc-9078-f9dd8f31029a" SourceId="1" SourceUrl="http://localhost:52447/MyService/MyService.svc?xsd=xsd1" /> </Metadata> <Extensions> <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" /> <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" /> </Extensions></ReferenceGroup>WCFServiceTest1/Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></head><body> <form id="form1" runat="server"> <div>
<asp:Button ID="Button1" runat="server" Text="サービスからデータ取得" OnClick="Button1_Click" /> <br /> <asp:Label ID="Label1" runat="server" Text="ID:"></asp:Label> <br /> <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> <br /> <br /> <asp:Label ID="Label3" runat="server" Text="Name:"></asp:Label> <br /> <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>
</div> </form></body></html>WCFServiceTest1/Default.aspx.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) {
} protected void Button1_Click(object sender, EventArgs e) { ServiceReference1.MyServiceClient client = new ServiceReference1.MyServiceClient();
ServiceReference1.MyEntity entity = new ServiceReference1.MyEntity();
entity = client.GetEntity(1);
this.Label2.Text = entity.ID.ToString();
this.Label4.Text = entity.Name; }}WCFServiceTest1/MyService/MyService.svc
<%@ ServiceHost Language="C#" Debug="true" Service="MyService" CodeBehind="~/App_Code/MyService.cs" %>WCFServiceTest1/Web.config
<?xml version="1.0" encoding="utf-8"?>
<!-- ASP.NET アプリケーションの構成方法の詳細については、 http://go.microsoft.com/fwlink/?LinkId=169433 を参照してください -->
<configuration>
<system.web> <compilation debug="true" targetFramework="4.8" /> <httpRuntime targetFramework="4.8" /> </system.web>
<system.serviceModel> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IMyService" /> </basicHttpBinding> </bindings> <client> <endpoint address="http://localhost:64761/MyService/MyService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyService" contract="ServiceReference1.IMyService" name="BasicHttpBinding_IMyService" /> </client> <behaviors> <serviceBehaviors> <behavior name=""> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel></configuration>WCFServiceTest1/Web.Debug.config
<?xml version="1.0" encoding="utf-8"?>
<!-- web.config 変換の詳細については、http://go.microsoft.com/fwlink/?LinkId=125889 を参照してください。 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <!-- 次の例では、"MyDB" という値を持つ "name" 属性が "Match" ロケーターで 見つかった場合にのみ、"SetAttributes" 変換によって "connectionString" の 値が "ReleaseSQLServer" を使用するように変更されます。
<connectionStrings> <add name="MyDB" connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> </connectionStrings> --> <system.web> <compilation xdt:Transform="RemoveAttributes(debug)" /> <!--
次の例では、web.config ファイルの <customErrors> セクション全体が "Replace" 変換によって置き換えられます。 <system.web> ノードには customErrors セクションが 1 つしかないため、 "xdt:Locator" 属性を使用する必要はありません。
<customErrors defaultRedirect="GenericError.htm" mode="RemoteOnly" xdt:Transform="Replace"> <error statusCode="500" redirect="InternalError.htm"/> </customErrors> > --> </system.web></configuration>