Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 25th, 2012  |  syntax: None  |  size: 5.28 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. How to start wcf service on demand by client call?
  2. <%@ ServiceHost Language="C#" Debug="true" Service="AnketeService.AnketeService" %>
  3.        
  4. <system.serviceModel>
  5.     <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
  6.     <bindings>
  7.         <wsHttpBinding>
  8.             <binding name="NoSecurityPlusRM" openTimeout="00:10:00" sendTimeout="00:10:00">
  9.                 <reliableSession enabled="true" />
  10.                 <security mode="None" />
  11.             </binding>
  12.         </wsHttpBinding>
  13.     </bindings>
  14.     <services>
  15.         <service behaviorConfiguration="Metadata" name="AnketeService.AnketeService">
  16.             <endpoint address="" binding="wsHttpBinding"  bindingConfiguration="NoSecurityPlusRM"
  17.                 contract="AnketeService.IAnketeService">
  18.                 <identity>
  19.                     <dns value="localhost" />
  20.                 </identity>
  21.             </endpoint>
  22.             <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />              
  23.         </service>
  24.     </services>
  25.     <behaviors>
  26.         <serviceBehaviors>
  27.             <behavior name="Metadata">
  28.                 <serviceMetadata httpGetEnabled="true" />
  29.             </behavior>
  30.         </serviceBehaviors>
  31.         <endpointBehaviors>
  32.             <behavior name="wsHttpBindingBehavior">
  33.                 <callbackTimeouts transactionTimeout="23:59:59" />
  34.             </behavior>
  35.         </endpointBehaviors>
  36.     </behaviors>
  37. </system.serviceModel>
  38.        
  39. [ServiceBehavior(Name="Ankete servis", InstanceContextMode=InstanceContextMode.PerCall , ConcurrencyMode=ConcurrencyMode.Single)]
  40. public class AnketeService : IAnketeService
  41. {
  42.     UsersItems allUsers = new UsersItems();
  43.     AnketaItems AnketaOfUserName = new AnketaItems();
  44.  
  45.  
  46.     public UsersItems getUsersNames()
  47.     {
  48.         return allUsers.ReturnData();
  49.     }
  50.  
  51.  
  52.     public AnketaItems getAnketeGledeUName(string userName)
  53.     {
  54.         return AnketaOfUserName.ReturnAnketeGledeUName(userName);
  55.     }
  56.  }
  57.        
  58. [ServiceContract(Name = "AnketeService",  Namespace = "http://MartinFri/Ankete/2011-2012")]
  59. public interface IAnketeService
  60. {
  61.  
  62.     [OperationContract]
  63.     UsersItems getUsersNames();
  64.  
  65.     [OperationContract]
  66.     AnketaItems getAnketeGledeUName(string userName);
  67.        
  68. public partial class ClientConsumeWCF : System.Web.UI.Page
  69. {
  70.     AnketeServiceClient client = new   AnketeServiceClient("WSHttpBinding_AnketeService");
  71.     AnketaItems AItem = new AnketaItems();
  72.  
  73.     protected void Page_Load(object sender, EventArgs e)
  74.     {
  75.         this.btnLoad.Click += new EventHandler(btnLoad_Click);
  76.     }
  77.     void btnLoad_Click(object sender, EventArgs e)
  78.     {
  79.         List<string> anketeList = new List<string>();
  80.  
  81.         if (ddlUserji.SelectedItem != null)
  82.         {
  83.             AItem = client.getAnketeGledeUName(Convert.ToString(ddlUserji.SelectedItem));
  84.             List<AnketaItem> ankete = AItem.ListAnketaGledeUName;
  85.             GVAnkete.DataSource = ankete;
  86.             GVAnkete.DataBind();
  87.         }
  88.         AItem.UserFirstName =  (Environment.MachineName).ToString();
  89.         TextBox1.Text = client.reciHello(AItem);
  90.     }
  91.  }
  92.        
  93. <?xml version="1.0" encoding="UTF-8"?>
  94.      <configuration>
  95.    <system.serviceModel>
  96.  <bindings>
  97.  <basicHttpBinding>
  98. <binding name="BasicHttpBinding_AnketeService" closeTimeout="00:01:00"
  99.  openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
  100.  allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
  101.  maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
  102.  messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
  103.  useDefaultWebProxy="true">
  104.  <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
  105.   maxBytesPerRead="4096" maxNameTableCharCount="16384" />
  106.  <security mode="None">
  107.   <transport clientCredentialType="None" proxyCredentialType="None"
  108.    realm="" />
  109.   <message clientCredentialType="UserName" algorithmSuite="Default" />
  110.  </security>
  111.   </binding>
  112.   </basicHttpBinding>
  113.     <wsHttpBinding>
  114.         <binding name="WSHttpBinding_AnketeService" closeTimeout="00:10:00"
  115.           openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
  116.           bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
  117.           maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
  118.           messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
  119.           allowCookies="false">
  120.           <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
  121.               maxBytesPerRead="4096" maxNameTableCharCount="16384" />
  122.           <reliableSession ordered="true" inactivityTimeout="00:10:00"
  123.               enabled="true" />
  124.           <security mode="None">
  125.               <transport clientCredentialType="Windows" proxyCredentialType="None"
  126.                   realm="" />
  127.               <message clientCredentialType="Windows" negotiateServiceCredential="true"
  128.                   establishSecurityContext="true" />
  129.           </security>
  130.       </binding>
  131.    </wsHttpBinding>
  132.  </bindings>
  133.    <client>
  134.      <endpoint address="http://localhost:56507/AnketeService.svc"
  135.        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_AnketeService"
  136.        contract="AnketeServiceReference.AnketeService"  name="WSHttpBinding_AnketeService" />
  137.  
  138.    </client>
  139.   </system.serviceModel>
  140. </configuration>