Guest User

Untitled

a guest
Apr 25th, 2012
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.28 KB | None | 0 0
  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>
Advertisement
Add Comment
Please, Sign In to add comment