Commit f1bf3875 f1bf38754afc2c94c404660d38c703536d9fa7c0 by Christian Gerdes

Initial commit

1 parent 2088cc92
Showing 33 changed files with 1661 additions and 0 deletions
1 <?xml version="1.0" encoding="utf-8" ?>
2 <configuration>
3 <appSettings>
4 <add key="httpBindingAddress" value="http://localhost:8080" />
5 </appSettings>
6 <system.serviceModel>
7 <behaviors>
8 <serviceBehaviors>
9 <behavior>
10 <serviceMetadata httpGetEnabled="True"/>
11 </behavior>
12 </serviceBehaviors>
13 </behaviors>
14 </system.serviceModel>
15 </configuration>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup>
4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5 <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
6 <ProductVersion>8.0.30703</ProductVersion>
7 <SchemaVersion>2.0</SchemaVersion>
8 <ProjectGuid>{111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}</ProjectGuid>
9 <OutputType>Exe</OutputType>
10 <AppDesignerFolder>Properties</AppDesignerFolder>
11 <RootNamespace>ConsoleHostApp</RootNamespace>
12 <AssemblyName>ConsoleHostApp</AssemblyName>
13 <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
14 <TargetFrameworkProfile>Client</TargetFrameworkProfile>
15 <FileAlignment>512</FileAlignment>
16 </PropertyGroup>
17 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
18 <PlatformTarget>x86</PlatformTarget>
19 <DebugSymbols>true</DebugSymbols>
20 <DebugType>full</DebugType>
21 <Optimize>false</Optimize>
22 <OutputPath>bin\Debug\</OutputPath>
23 <DefineConstants>DEBUG;TRACE</DefineConstants>
24 <ErrorReport>prompt</ErrorReport>
25 <WarningLevel>4</WarningLevel>
26 </PropertyGroup>
27 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
28 <PlatformTarget>x86</PlatformTarget>
29 <DebugType>pdbonly</DebugType>
30 <Optimize>true</Optimize>
31 <OutputPath>bin\Release\</OutputPath>
32 <DefineConstants>TRACE</DefineConstants>
33 <ErrorReport>prompt</ErrorReport>
34 <WarningLevel>4</WarningLevel>
35 </PropertyGroup>
36 <ItemGroup>
37 <Reference Include="System" />
38 <Reference Include="System.configuration" />
39 <Reference Include="System.Core" />
40 <Reference Include="System.ServiceModel" />
41 <Reference Include="System.Xml.Linq" />
42 <Reference Include="System.Data.DataSetExtensions" />
43 <Reference Include="Microsoft.CSharp" />
44 <Reference Include="System.Data" />
45 <Reference Include="System.Xml" />
46 </ItemGroup>
47 <ItemGroup>
48 <Compile Include="Program.cs" />
49 <Compile Include="Properties\AssemblyInfo.cs" />
50 </ItemGroup>
51 <ItemGroup>
52 <ProjectReference Include="..\PerformanceService\PerformanceService.csproj">
53 <Project>{298113F4-7126-4E1A-ADD1-F6C5327370E8}</Project>
54 <Name>PerformanceService</Name>
55 </ProjectReference>
56 </ItemGroup>
57 <ItemGroup>
58 <None Include="App.config" />
59 </ItemGroup>
60 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
61 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
62 Other similar extension points exist, see Microsoft.Common.targets.
63 <Target Name="BeforeBuild">
64 </Target>
65 <Target Name="AfterBuild">
66 </Target>
67 -->
68 </Project>
...\ No newline at end of file ...\ No newline at end of file
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.ServiceModel;
6 using PerformanceService;
7 using System.Configuration;
8
9 namespace ConsoleHostApp
10 {
11 class Program
12 {
13 static void Main(string[] args)
14 {
15 // Start the EmailValidator Service
16 Type serviceType = typeof(EmailValidator);
17 string httpBindingAddress = ConfigurationManager.AppSettings["httpBindingAddress"];
18 Uri serviceUri = new Uri(httpBindingAddress + "/EmailValidator");
19 ServiceHost host = new ServiceHost(serviceType, serviceUri);
20 host.Open();
21
22 // Output some info...
23 #region Output dispatchers listening
24 foreach (Uri uri in host.BaseAddresses)
25 {
26 Console.WriteLine("\t{0}", uri.ToString());
27 }
28 Console.WriteLine();
29 Console.WriteLine("Number of dispatchers listening : {0}", host.ChannelDispatchers.Count);
30 foreach (System.ServiceModel.Dispatcher.ChannelDispatcher dispatcher in host.ChannelDispatchers)
31 {
32 Console.WriteLine("\t{0}, {1}", dispatcher.Listener.Uri.ToString(), dispatcher.BindingName);
33 }
34 Console.WriteLine();
35 Console.WriteLine("Press <ENTER> to terminate Host");
36 Console.ReadLine();
37 #endregion
38 }
39 }
40 }
1 using System.Reflection;
2 using System.Runtime.CompilerServices;
3 using System.Runtime.InteropServices;
4
5 // General Information about an assembly is controlled through the following
6 // set of attributes. Change these attribute values to modify the information
7 // associated with an assembly.
8 [assembly: AssemblyTitle("ConsoleHostApp")]
9 [assembly: AssemblyDescription("")]
10 [assembly: AssemblyConfiguration("")]
11 [assembly: AssemblyCompany("Microsoft")]
12 [assembly: AssemblyProduct("ConsoleHostApp")]
13 [assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
14 [assembly: AssemblyTrademark("")]
15 [assembly: AssemblyCulture("")]
16
17 // Setting ComVisible to false makes the types in this assembly not visible
18 // to COM components. If you need to access a type in this assembly from
19 // COM, set the ComVisible attribute to true on that type.
20 [assembly: ComVisible(false)]
21
22 // The following GUID is for the ID of the typelib if this project is exposed to COM
23 [assembly: Guid("9c49e1d8-b195-4b96-a5c6-89905cd367c5")]
24
25 // Version information for an assembly consists of the following four values:
26 //
27 // Major Version
28 // Minor Version
29 // Build Number
30 // Revision
31 //
32 // You can specify all the values or you can default the Build and Revision Numbers
33 // by using the '*' as shown below:
34 // [assembly: AssemblyVersion("1.0.*")]
35 [assembly: AssemblyVersion("1.0.0.0")]
36 [assembly: AssemblyFileVersion("1.0.0.0")]
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using Microsoft.VisualStudio.TestTools.LoadTesting;
6
7 namespace PluginLib
8 {
9 public class LoadtestContextCopy : ILoadTestPlugin
10 {
11 // Summary:
12 // Initializes the load test plug-in.
13 //
14 // Parameters:
15 // loadTest:
16 // The load test to be executed.
17
18 LoadTest m_loadTest;
19
20 public void Initialize(LoadTest loadTest)
21 {
22 m_loadTest = loadTest;
23 m_loadTest.TestStarting += new EventHandler<TestStartingEventArgs>(loadTestStarting);
24 }
25
26 void loadTestStarting(object sender, TestStartingEventArgs e)
27 {
28 foreach (string key in m_loadTest.Context.Keys)
29 {
30 e.TestContextProperties.Add(key, m_loadTest.Context[key]);
31 }
32 }
33 }
34 }
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup>
4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6 <ProductVersion>8.0.30703</ProductVersion>
7 <SchemaVersion>2.0</SchemaVersion>
8 <ProjectGuid>{226AB0FE-47CF-4C69-8330-C86327AA4246}</ProjectGuid>
9 <OutputType>Library</OutputType>
10 <AppDesignerFolder>Properties</AppDesignerFolder>
11 <RootNamespace>PluginLib</RootNamespace>
12 <AssemblyName>LoadTestLib</AssemblyName>
13 <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
14 <FileAlignment>512</FileAlignment>
15 <SccProjectName>
16 </SccProjectName>
17 <SccLocalPath>
18 </SccLocalPath>
19 <SccAuxPath>
20 </SccAuxPath>
21 <SccProvider>
22 </SccProvider>
23 </PropertyGroup>
24 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
25 <DebugSymbols>true</DebugSymbols>
26 <DebugType>full</DebugType>
27 <Optimize>false</Optimize>
28 <OutputPath>bin\Debug\</OutputPath>
29 <DefineConstants>DEBUG;TRACE</DefineConstants>
30 <ErrorReport>prompt</ErrorReport>
31 <WarningLevel>4</WarningLevel>
32 </PropertyGroup>
33 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
34 <DebugType>pdbonly</DebugType>
35 <Optimize>true</Optimize>
36 <OutputPath>bin\Release\</OutputPath>
37 <DefineConstants>TRACE</DefineConstants>
38 <ErrorReport>prompt</ErrorReport>
39 <WarningLevel>4</WarningLevel>
40 </PropertyGroup>
41 <ItemGroup>
42 <Reference Include="Microsoft.VisualStudio.QualityTools.LoadTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
43 <Reference Include="System" />
44 <Reference Include="System.Core" />
45 <Reference Include="System.Xml.Linq" />
46 <Reference Include="System.Data.DataSetExtensions" />
47 <Reference Include="Microsoft.CSharp" />
48 <Reference Include="System.Data" />
49 <Reference Include="System.Xml" />
50 </ItemGroup>
51 <ItemGroup>
52 <Compile Include="LoadTestContextCopy.cs" />
53 <Compile Include="Properties\AssemblyInfo.cs" />
54 <Compile Include="SetTestUser.cs" />
55 </ItemGroup>
56 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
57 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
58 Other similar extension points exist, see Microsoft.Common.targets.
59 <Target Name="BeforeBuild">
60 </Target>
61 <Target Name="AfterBuild">
62 </Target>
63 -->
64 </Project>
...\ No newline at end of file ...\ No newline at end of file
1 using System.Reflection;
2 using System.Runtime.CompilerServices;
3 using System.Runtime.InteropServices;
4
5 // General Information about an assembly is controlled through the following
6 // set of attributes. Change these attribute values to modify the information
7 // associated with an assembly.
8 [assembly: AssemblyTitle("LoadTestLib")]
9 [assembly: AssemblyDescription("")]
10 [assembly: AssemblyConfiguration("")]
11 [assembly: AssemblyCompany("Siemens")]
12 [assembly: AssemblyProduct("LoadTestLib")]
13 [assembly: AssemblyCopyright("Copyright © Siemens 2011")]
14 [assembly: AssemblyTrademark("")]
15 [assembly: AssemblyCulture("")]
16
17 // Setting ComVisible to false makes the types in this assembly not visible
18 // to COM components. If you need to access a type in this assembly from
19 // COM, set the ComVisible attribute to true on that type.
20 [assembly: ComVisible(false)]
21
22 // The following GUID is for the ID of the typelib if this project is exposed to COM
23 [assembly: Guid("38a50875-fe88-472f-b2eb-272d9255cb5f")]
24
25 // Version information for an assembly consists of the following four values:
26 //
27 // Major Version
28 // Minor Version
29 // Build Number
30 // Revision
31 //
32 // You can specify all the values or you can default the Build and Revision Numbers
33 // by using the '*' as shown below:
34 // [assembly: AssemblyVersion("1.0.*")]
35 [assembly: AssemblyVersion("1.0.0.0")]
36 [assembly: AssemblyFileVersion("1.0.0.0")]
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using Microsoft.VisualStudio.TestTools.LoadTesting;
6 using System.ComponentModel;
7 using System.IO;
8 using System.Collections.Specialized;
9
10 namespace PluginLib
11 {
12 [DisplayName("Set Parameter In Context")]
13 [Description("Sätter en parameter i testcontextet för alla eller vissa tester i mixen hämtat från en CSV fil")]
14 public class SetTestUser : ILoadTestPlugin
15 {
16 // Summary:
17 // Initializes the load test plug-in.
18 //
19 // Parameters:
20 // loadTest:
21 // The load test to be executed.
22 private string myConnectionString;
23 private string myLogFileString;
24 private string myParameterName;
25 private string myTestNames;
26 private bool myUseRandom = true;
27 private bool myUseUnique = false;
28 private bool myUseUniqueIteration = false;
29 private bool myLogToFile = false;
30 private bool mySeqLoop = false;
31 private StringCollection myParams = new StringCollection();
32 private Random random = new Random();
33 private LoadTest m_loadTest;
34
35 [DisplayName("Endast dessa Tester")]
36 [Description("Ange de tester som ska få denna parameter. Lämna blankt för alla tester. Testets namn måste annars finnas i denna sträng för att få parametervärdet.")]
37 [DefaultValue("")]
38 public string Test_Names
39 {
40 get { return myTestNames; }
41 set { myTestNames = value.ToLower(); }
42 }
43
44 [DisplayName("Sökväg till CSV fil")]
45 [Description("Ange den fullständiga sökvägen till CSV filen. Observera att filen behöver finnas på alla agenterna också om du inte kör lokalt.")]
46 [DefaultValue("C:\\Userdata.csv")]
47 public string Connection_String
48 {
49 get { return myConnectionString; }
50 set { myConnectionString = value; }
51 }
52
53 [DisplayName("Context Parameter Namn")]
54 [Description("Ange namnet på parametern som vi ska lägga till i TestContext")]
55 [DefaultValue("UserName")]
56 public string Parameter_Name
57 {
58 get { return myParameterName; }
59 set { myParameterName = value; }
60 }
61
62 [DisplayName("Logga fungerande till")]
63 [Description("Ange den fullständiga sökvägen till logg filen. Om filen finns kommer den inte skrivas över utan läggas till i slutet.")]
64 [DefaultValue("C:\\Temp\\Fungerande.log")]
65 [CategoryAttribute("Loggning")]
66 public string LogFilePathString
67 {
68 get { return myLogFileString; }
69 set { myLogFileString = value; }
70 }
71
72 [DisplayName("Välj slumpmässigt?")]
73 [Description("Ange True om du vill välja en slumpmässig användare. False går igenom listan sekventiellt.")]
74 [DefaultValue(true)]
75 public bool Use_Random
76 {
77 get { return myUseRandom; }
78 set { myUseRandom = value; }
79 }
80
81 [DisplayName("Välj unikt per VU?")]
82 [Description("Ange True om du vill att varje LoadTest VU ska ha sitt eget unika värde och återanvända detta i varje iteration. Stänger av slumpmässigt val.")]
83 [DefaultValue(false)]
84 public bool Use_Unique
85 {
86 get { return myUseUnique; }
87 set { myUseUnique = value; }
88 }
89
90 [DisplayName("Välj unikt per Iteration?")]
91 [Description("Ange True om du vill att varje LoadTest VU ska ha sitt eget unika värde för varje iteration, dvs aldrig återanvändas av någon under testet.")]
92 [DefaultValue(false)]
93 public bool Use_UniqueIteration
94 {
95 get { return myUseUniqueIteration; }
96 set { myUseUniqueIteration = value; }
97 }
98
99 [DisplayName("Välj sekventiell loop?")]
100 [Description("Ange true om du vill börja om från början om sekventiell läsning får slut på värden. Gäller även Unik läsning.")]
101 [DefaultValue(false)]
102 public bool Use_Loop
103 {
104 get { return mySeqLoop; }
105 set { mySeqLoop = value; }
106 }
107
108 [DisplayName("Logga fungerande till fil?")]
109 [Description("Ange True om du vill att poster vars tester slutar i Pass ska loggas till fil (c:\\fungerande.log). Om filen redan finns läggs de till i slutet.")]
110 [DefaultValue(false)]
111 [CategoryAttribute("Loggning")]
112 public bool Log_To_File
113 {
114 get { return myLogToFile; }
115 set { myLogToFile = value; }
116 }
117
118 public void Initialize(LoadTest loadTest)
119 {
120 // Vi bör läsa in alla värden här
121 this.initUserArray(myConnectionString);
122
123 if (myParams.Count > 0)
124 {
125 m_loadTest = loadTest;
126 if (myUseUniqueIteration)
127 m_loadTest.TestStarting += new EventHandler<TestStartingEventArgs>(loadTestStartingUniqueIteration);
128 else if(myUseUnique)
129 m_loadTest.TestStarting += new EventHandler<TestStartingEventArgs>(loadTestStartingUnique);
130 else if (myUseRandom)
131 m_loadTest.TestStarting += new EventHandler<TestStartingEventArgs>(loadTestStartingRandom);
132 else
133 m_loadTest.TestStarting += new EventHandler<TestStartingEventArgs>(loadTestStartingSeq);
134 }
135 if (myLogToFile)
136 {
137 m_loadTest.TestFinished += new EventHandler<TestFinishedEventArgs>(loadTestEndLogger);
138 }
139 }
140
141 void loadTestEndLogger(object sender, TestFinishedEventArgs e)
142 {
143 // Log the user to logfile if the test is passed
144 if (e.Result.Passed)
145 {
146 File.AppendAllText(myLogFileString, e.UserContext[myParameterName].ToString() + "\r\n");
147 }
148 }
149
150 void loadTestStartingRandom(object sender, TestStartingEventArgs e)
151 {
152 // Check that its the right script
153 if (myTestNames.Length > 0 && !myTestNames.Contains(e.TestName.ToLower())) return;
154
155 // Add a context parameter to the starting test
156 string user = this.getRandomUser();
157 e.TestContextProperties.Add(myParameterName, user);
158 e.UserContext[myParameterName] = user;
159 }
160
161 void loadTestStartingSeq(object sender, TestStartingEventArgs e)
162 {
163 // Check that its the right script
164 if (myTestNames.Length > 0 && !myTestNames.Contains(e.TestName.ToLower())) return;
165
166 // Add a context parameter to the starting test
167 string user = this.getSeqUser(e.UserContext.CompletedTestCount);
168 e.TestContextProperties.Add(myParameterName, user);
169 e.UserContext[myParameterName] = user;
170 }
171
172 void loadTestStartingUnique(object sender, TestStartingEventArgs e)
173 {
174 // Check that its the right script
175 if (myTestNames.Length > 0 && !myTestNames.Contains(e.TestName.ToLower())) return;
176
177 // Add a context parameter to the starting test
178 string user = this.getSeqUser(e.UserContext.UserId);
179 e.TestContextProperties.Add(myParameterName, user);
180 e.UserContext[myParameterName] = user;
181 }
182
183 void loadTestStartingUniqueIteration(object sender, TestStartingEventArgs e)
184 {
185 // Check that its the right script
186 if (myTestNames.Length > 0 && !myTestNames.Contains(e.TestName.ToLower())) return;
187
188 // Add a context parameter to the starting test
189 string user = this.getSeqUser(e.TestIterationNumber - 1);
190 e.TestContextProperties.Add(myParameterName, user);
191 e.UserContext[myParameterName] = user;
192 }
193
194 string getRandomUser()
195 {
196 int randomIndex = random.Next(myParams.Count - 1);
197 return myParams[randomIndex];
198 }
199
200 string getSeqUser(int seqIndex)
201 {
202 if (seqIndex < myParams.Count)
203 return myParams[seqIndex];
204 else
205 {
206 if (mySeqLoop)
207 return myParams[seqIndex % myParams.Count];
208 else
209 return myParams[myParams.Count - 1];
210 }
211 }
212
213 bool initUserArray(string path)
214 {
215 if (path.Length > 0)
216 {
217 StreamReader re = File.OpenText(path);
218 string input = null;
219 while ((input = re.ReadLine()) != null)
220 {
221 myParams.Add(input);
222 }
223 re.Close();
224 return true;
225 }
226 else return false;
227 }
228 }
229 }
No preview for this file type
1 <?xml version="1.0" encoding="UTF-8"?>
2 <TestSettings name="Local" id="df2338c8-420f-4a05-9bb3-48c6f2903d23" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
3 <Description>These are default test settings for a local test run.</Description>
4 <Deployment enabled="false" />
5 <Execution>
6 <TestTypeSpecific />
7 <AgentRule name="Execution Agents">
8 </AgentRule>
9 </Execution>
10 </TestSettings>
...\ No newline at end of file ...\ No newline at end of file
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.ServiceModel;
6 using System.Text.RegularExpressions;
7 using System.Collections.Specialized;
8 using System.Runtime.CompilerServices;
9
10 namespace PerformanceService
11 {
12 [ServiceContract]
13 public interface IEmailValidator
14 {
15 [OperationContract]
16 bool ValidateAddress(string emailAddress);
17
18 [OperationContract]
19 int RegisterAdress(string emailAddress);
20
21 [OperationContract]
22 string GetAdress(int userID);
23
24 [OperationContract]
25 bool checkIfFull();
26
27 [OperationContract]
28 bool checkIfFull2();
29 }
30
31 // Implementation
32 public class EmailValidator : IEmailValidator
33 {
34 public bool ValidateAddress(string emailAddress)
35 {
36 Console.WriteLine("Validating: {0}", emailAddress);
37 string pattern = @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$";
38 Random random = new Random();
39 System.Threading.Thread.Sleep(random.Next(50, 250));
40 return Regex.IsMatch(emailAddress, pattern);
41 }
42
43 public Int32 RegisterAdress(string emailAdress)
44 {
45 int userID = 0;
46 myRegistry.add();
47 return userID;
48 }
49
50 public string GetAdress(int userID)
51 {
52 string emailAdress = "thisisatest@testamera.com";
53
54 return emailAdress;
55 }
56
57 public bool checkIfFull()
58 {
59
60 if (myRegistry.checkIfFull() > 1) return false; else return true;
61 }
62
63 public bool checkIfFull2()
64 {
65
66 if (myRegistry.checkIfFull2() > 1) return false; else return true;
67 }
68 }
69
70 public class myRegistry
71 {
72 static int _val1 = 1, _val2 = 1, _val3 = 1;
73 private static StringCollection myParams = new StringCollection();
74
75 public static int checkIfFull()
76 {
77 Random random = new Random();
78 _val1 = 1; _val2 = 1; _val3 = 0;
79
80 if (_val2 != 0)
81 {
82 System.Threading.Thread.Sleep(random.Next(50, 100));
83 _val3 = (_val1 / _val2);
84 }
85 _val2 = 0;
86
87 System.Threading.Thread.Sleep(random.Next(50, 100));
88 return _val3;
89 }
90
91 [MethodImpl(MethodImplOptions.Synchronized)]
92 public static int checkIfFull2()
93 {
94 Random random = new Random();
95 _val1 = 1; _val2 = 1; _val3 = 0;
96
97 if (_val2 != 0)
98 {
99 System.Threading.Thread.Sleep(random.Next(50, 100));
100 _val3 = (_val1 / _val2);
101 }
102 _val2 = 0;
103
104 System.Threading.Thread.Sleep(random.Next(50, 100));
105 return _val3;
106 }
107
108 public static void add()
109 {
110 Random random = new Random();
111 string str1 = "";
112 for (int x = 0; x < 5000; x++)
113 {
114 str1 = str1 + "abc123abc123 ";
115 }
116 myParams.Add(str1);
117 System.Threading.Thread.Sleep(random.Next(50, 100));
118 }
119 }
120
121 }
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup>
4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6 <ProductVersion>8.0.30703</ProductVersion>
7 <SchemaVersion>2.0</SchemaVersion>
8 <ProjectGuid>{298113F4-7126-4E1A-ADD1-F6C5327370E8}</ProjectGuid>
9 <OutputType>Library</OutputType>
10 <AppDesignerFolder>Properties</AppDesignerFolder>
11 <RootNamespace>PerformanceService</RootNamespace>
12 <AssemblyName>PerformanceService</AssemblyName>
13 <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
14 <FileAlignment>512</FileAlignment>
15 </PropertyGroup>
16 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17 <DebugSymbols>true</DebugSymbols>
18 <DebugType>full</DebugType>
19 <Optimize>false</Optimize>
20 <OutputPath>bin\Debug\</OutputPath>
21 <DefineConstants>DEBUG;TRACE</DefineConstants>
22 <ErrorReport>prompt</ErrorReport>
23 <WarningLevel>4</WarningLevel>
24 </PropertyGroup>
25 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
26 <DebugType>pdbonly</DebugType>
27 <Optimize>true</Optimize>
28 <OutputPath>bin\Release\</OutputPath>
29 <DefineConstants>TRACE</DefineConstants>
30 <ErrorReport>prompt</ErrorReport>
31 <WarningLevel>4</WarningLevel>
32 </PropertyGroup>
33 <ItemGroup>
34 <Reference Include="System" />
35 <Reference Include="System.Core" />
36 <Reference Include="System.ServiceModel" />
37 <Reference Include="System.Xml.Linq" />
38 <Reference Include="System.Data.DataSetExtensions" />
39 <Reference Include="Microsoft.CSharp" />
40 <Reference Include="System.Data" />
41 <Reference Include="System.Xml" />
42 </ItemGroup>
43 <ItemGroup>
44 <Compile Include="EmailValidator.cs" />
45 <Compile Include="Properties\AssemblyInfo.cs" />
46 </ItemGroup>
47 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
48 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
49 Other similar extension points exist, see Microsoft.Common.targets.
50 <Target Name="BeforeBuild">
51 </Target>
52 <Target Name="AfterBuild">
53 </Target>
54 -->
55 </Project>
...\ No newline at end of file ...\ No newline at end of file
1 using System.Reflection;
2 using System.Runtime.CompilerServices;
3 using System.Runtime.InteropServices;
4
5 // General Information about an assembly is controlled through the following
6 // set of attributes. Change these attribute values to modify the information
7 // associated with an assembly.
8 [assembly: AssemblyTitle("PerformanceService")]
9 [assembly: AssemblyDescription("")]
10 [assembly: AssemblyConfiguration("")]
11 [assembly: AssemblyCompany("Microsoft")]
12 [assembly: AssemblyProduct("PerformanceService")]
13 [assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
14 [assembly: AssemblyTrademark("")]
15 [assembly: AssemblyCulture("")]
16
17 // Setting ComVisible to false makes the types in this assembly not visible
18 // to COM components. If you need to access a type in this assembly from
19 // COM, set the ComVisible attribute to true on that type.
20 [assembly: ComVisible(false)]
21
22 // The following GUID is for the ID of the typelib if this project is exposed to COM
23 [assembly: Guid("b1639d23-c73e-40f4-be3d-b5fd78bc002b")]
24
25 // Version information for an assembly consists of the following four values:
26 //
27 // Major Version
28 // Minor Version
29 // Build Number
30 // Revision
31 //
32 // You can specify all the values or you can default the Build and Revision Numbers
33 // by using the '*' as shown below:
34 // [assembly: AssemblyVersion("1.0.*")]
35 [assembly: AssemblyVersion("1.0.0.0")]
36 [assembly: AssemblyFileVersion("1.0.0.0")]
1 <?xml version="1.0" encoding="utf-8"?>
2 <WebTest Name="AF01_Validate" Id="f596d6df-4c34-45cb-a0d4-ff04847890dd" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="AF01_Validate.6a8db5ff-429b-4974-af50-cb343710eaca.rec.webtestresult" ResultsLocale="">
3 <Items>
4 <Request Method="POST" Guid="cec260fa-0c7c-4925-82a9-3ecad0512156" Version="1.1" Url="http://localhost:8080/EmailValidator" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
5 <Headers>
6 <Header Name="SOAPAction" Value="http://tempuri.org/IEmailValidator/ValidateAddress" />
7 </Headers>
8 <StringHttpBody ContentType="text/xml" InsertByteOrderMark="False">PABzADoARQBuAHYAZQBsAG8AcABlACAAeABtAGwAbgBzADoAcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AeABtAGwAcwBvAGEAcAAuAG8AcgBnAC8AcwBvAGEAcAAvAGUAbgB2AGUAbABvAHAAZQAvACIAPgA8AHMAOgBCAG8AZAB5AD4APABWAGEAbABpAGQAYQB0AGUAQQBkAGQAcgBlAHMAcwAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwB0AGUAbQBwAHUAcgBpAC4AbwByAGcALwAiAD4APABlAG0AYQBpAGwAQQBkAGQAcgBlAHMAcwA+AGMAaAByAGkAcwB0AGkAYQBuAEAAZwBlAHIAZABlAHMALgBzAGUAPAAvAGUAbQBhAGkAbABBAGQAZAByAGUAcwBzAD4APAAvAFYAYQBsAGkAZABhAHQAZQBBAGQAZAByAGUAcwBzAD4APAAvAHMAOgBCAG8AZAB5AD4APAAvAHMAOgBFAG4AdgBlAGwAbwBwAGUAPgA=</StringHttpBody>
9 </Request>
10 </Items>
11 </WebTest>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="utf-8"?>
2 <WebTest Name="AF02_CheckIfFull" Id="83c79875-4fb1-4e24-bf08-8f100b5065ce" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="AF01_Validate.6a8db5ff-429b-4974-af50-cb343710eaca.rec.webtestresult" ResultsLocale="">
3 <Items>
4 <Request Method="POST" Guid="cec260fa-0c7c-4925-82a9-3ecad0512156" Version="1.1" Url="http://localhost:8080/EmailValidator" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
5 <Headers>
6 <Header Name="SOAPAction" Value="http://tempuri.org/IEmailValidator/checkIfFull" />
7 </Headers>
8 <StringHttpBody ContentType="text/xml" InsertByteOrderMark="False">PABzAG8AYQBwAGUAbgB2ADoARQBuAHYAZQBsAG8AcABlACAAeABtAGwAbgBzADoAcwBvAGEAcABlAG4AdgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AeABtAGwAcwBvAGEAcAAuAG8AcgBnAC8AcwBvAGEAcAAvAGUAbgB2AGUAbABvAHAAZQAvACIAIAB4AG0AbABuAHMAOgB0AGUAbQA9ACIAaAB0AHQAcAA6AC8ALwB0AGUAbQBwAHUAcgBpAC4AbwByAGcALwAiAD4ADQAKACAAIAAgADwAcwBvAGEAcABlAG4AdgA6AEgAZQBhAGQAZQByAC8APgANAAoAIAAgACAAPABzAG8AYQBwAGUAbgB2ADoAQgBvAGQAeQA+AA0ACgAgACAAIAAgACAAIAA8AHQAZQBtADoAYwBoAGUAYwBrAEkAZgBGAHUAbABsAC8APgANAAoAIAAgACAAPAAvAHMAbwBhAHAAZQBuAHYAOgBCAG8AZAB5AD4ADQAKADwALwBzAG8AYQBwAGUAbgB2ADoARQBuAHYAZQBsAG8AcABlAD4A</StringHttpBody>
9 </Request>
10 </Items>
11 </WebTest>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="utf-8"?>
2 <WebTest Name="AF02_CheckIfFull2" Id="60a8ff89-c9d5-46b9-bb91-0f6220db8b49" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="AF01_Validate.6a8db5ff-429b-4974-af50-cb343710eaca.rec.webtestresult" ResultsLocale="">
3 <Items>
4 <Request Method="POST" Guid="cec260fa-0c7c-4925-82a9-3ecad0512156" Version="1.1" Url="http://localhost:8080/EmailValidator" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
5 <Headers>
6 <Header Name="SOAPAction" Value="http://tempuri.org/IEmailValidator/checkIfFull2" />
7 </Headers>
8 <StringHttpBody ContentType="text/xml" InsertByteOrderMark="False">PABzAG8AYQBwAGUAbgB2ADoARQBuAHYAZQBsAG8AcABlACAAeABtAGwAbgBzADoAcwBvAGEAcABlAG4AdgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AeABtAGwAcwBvAGEAcAAuAG8AcgBnAC8AcwBvAGEAcAAvAGUAbgB2AGUAbABvAHAAZQAvACIAIAB4AG0AbABuAHMAOgB0AGUAbQA9ACIAaAB0AHQAcAA6AC8ALwB0AGUAbQBwAHUAcgBpAC4AbwByAGcALwAiAD4ADQAKACAAIAAgADwAcwBvAGEAcABlAG4AdgA6AEgAZQBhAGQAZQByAC8APgANAAoAIAAgACAAPABzAG8AYQBwAGUAbgB2ADoAQgBvAGQAeQA+AA0ACgAgACAAIAAgACAAIAA8AHQAZQBtADoAYwBoAGUAYwBrAEkAZgBGAHUAbABsADIALwA+AA0ACgAgACAAIAA8AC8AcwBvAGEAcABlAG4AdgA6AEIAbwBkAHkAPgANAAoAPAAvAHMAbwBhAHAAZQBuAHYAOgBFAG4AdgBlAGwAbwBwAGUAPgA=</StringHttpBody>
9 </Request>
10 </Items>
11 </WebTest>
...\ No newline at end of file ...\ No newline at end of file
1 using System;
2 using System.Text;
3 using System.Collections.Generic;
4 using System.Linq;
5 using Microsoft.VisualStudio.TestTools.UnitTesting;
6
7 namespace PerformanceTestProject
8 {
9 /// <summary>
10 /// Summary description for EmailValidatorPerfTest
11 /// </summary>
12 [TestClass]
13 public class EmailValidatorPerfTest
14 {
15 public EmailValidatorPerfTest()
16 {
17 //
18 // TODO: Add constructor logic here
19 //
20 }
21
22 private TestContext testContextInstance;
23
24 /// <summary>
25 ///Gets or sets the test context which provides
26 ///information about and functionality for the current test run.
27 ///</summary>
28 public TestContext TestContext
29 {
30 get
31 {
32 return testContextInstance;
33 }
34 set
35 {
36 testContextInstance = value;
37 }
38 }
39
40 #region Additional test attributes
41 //
42 // You can use the following additional attributes as you write your tests:
43 //
44 // Use ClassInitialize to run code before running the first test in the class
45 // [ClassInitialize()]
46 // public static void MyClassInitialize(TestContext testContext) { }
47 //
48 // Use ClassCleanup to run code after all tests in a class have run
49 // [ClassCleanup()]
50 // public static void MyClassCleanup() { }
51 //
52 // Use TestInitialize to run code before running each test
53 // [TestInitialize()]
54 // public void MyTestInitialize() { }
55 //
56 // Use TestCleanup to run code after each test has run
57 // [TestCleanup()]
58 // public void MyTestCleanup() { }
59 //
60 #endregion
61
62 [TestMethod]
63 public void AF01_Validate()
64 {
65 // Skapa en instans av klienten till tjänsten (gör inget anrop)
66 TestContext.WriteLine("Skapar klienten..");
67 EmailValidatorServiceReference.EmailValidatorClient myClient = new EmailValidatorServiceReference.EmailValidatorClient();
68 myClient.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://localhost:8080/EmailValidator");
69
70 // Simulera lite betänketid
71 System.Threading.Thread.Sleep(0);
72
73 // Logga vad vi gör...
74 TestContext.WriteLine("Anropar Validate med indata: " + "christian@gerdes.se");
75 // Skapa timer
76 TestContext.BeginTimer("01_ValidateCall");
77 // Utför anrop mot tjänsten
78 bool response = myClient.ValidateAddress("christian@gerdes.se");
79 // Stoppa Timer
80 TestContext.EndTimer("01_ValidateCall");
81
82 // Verifiera svaret
83 TestContext.WriteLine("Svaret som mottogs är: " + response.ToString());
84 Assert.IsTrue(response, "Verifiering av epostadress misslyckades");
85
86 // Stäng instansen
87 TestContext.WriteLine("Stänger klienten..");
88 myClient.Close();
89 }
90
91 [TestMethod]
92 public void AF02_CheckIfFull()
93 {
94 if (TestContext.Properties["TT"] == null)
95 TestContext.Properties.Add("TT", "500");
96
97 // Skapa en instans av klienten till tjänsten (gör inget anrop)
98 TestContext.WriteLine("Skapar klienten..");
99 EmailValidatorServiceReference.EmailValidatorClient myClient = new EmailValidatorServiceReference.EmailValidatorClient();
100 myClient.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://localhost:8080/EmailValidator");
101
102 // Läs TT från context
103 int myTT = int.Parse(TestContext.Properties["TT"].ToString());
104 TestContext.WriteLine("Använder TT: " + myTT + " ms");
105
106 // Simulera lite betänketid
107 System.Threading.Thread.Sleep(myTT);
108
109 // Logga vad vi gör...
110 TestContext.WriteLine("Anropar CheckIfFull");
111 // Skapa timer
112 TestContext.BeginTimer("01_CheckIfFull");
113 // Utför anrop mot tjänsten
114 bool response = myClient.checkIfFull();
115 // Stoppa Timer
116 TestContext.EndTimer("01_CheckIfFull");
117
118 // Verifiera svaret
119 TestContext.WriteLine("Svaret som mottogs är: " + response.ToString());
120 Assert.IsTrue(response, "CheckIfFull anropet misslyckades, svaret ej True");
121
122 // Stäng instansen
123 TestContext.WriteLine("Stänger klienten..");
124 myClient.Close();
125 }
126
127 [TestMethod]
128 public void AF03_Register()
129 {
130 if (TestContext.Properties["TT"] == null)
131 TestContext.Properties.Add("TT", "500");
132
133 // Skapa en instans av klienten till tjänsten (gör inget anrop)
134 TestContext.WriteLine("Skapar klienten..");
135 EmailValidatorServiceReference.EmailValidatorClient myClient = new EmailValidatorServiceReference.EmailValidatorClient();
136 myClient.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://localhost:8080/EmailValidator");
137
138 // Läs TT från context
139 int myTT = int.Parse(TestContext.Properties["TT"].ToString());
140 TestContext.WriteLine("Använder TT: " + myTT + " ms");
141
142 // Simulera lite betänketid
143 System.Threading.Thread.Sleep(myTT);
144
145 // Logga vad vi gör...
146 TestContext.WriteLine("Anropar CheckIfFull");
147 // Skapa timer
148 TestContext.BeginTimer("03_Register");
149 // Utför anrop mot tjänsten
150 int response = myClient.RegisterAdress("christian.gerdes@lightsinline.se");
151 // Stoppa Timer
152 TestContext.EndTimer("03_Register");
153
154 // Verifiera svaret
155 TestContext.WriteLine("Svaret som mottogs är: " + response.ToString());
156 if(response != 0)
157 Assert.Fail("CheckIfFull anropet misslyckades, svaret ej True");
158
159 // Stäng instansen
160 TestContext.WriteLine("Stänger klienten..");
161 myClient.Close();
162 }
163 }
164 }
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup>
4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6 <ProductVersion>
7 </ProductVersion>
8 <SchemaVersion>2.0</SchemaVersion>
9 <ProjectGuid>{BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}</ProjectGuid>
10 <OutputType>Library</OutputType>
11 <AppDesignerFolder>Properties</AppDesignerFolder>
12 <RootNamespace>PerformanceTestProject</RootNamespace>
13 <AssemblyName>PerformanceTestProject</AssemblyName>
14 <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
15 <FileAlignment>512</FileAlignment>
16 <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
17 <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
18 <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
19 <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
20 <IsCodedUITest>False</IsCodedUITest>
21 <TestProjectType>WebTest</TestProjectType>
22 <FileUpgradeFlags>
23 </FileUpgradeFlags>
24 <UpgradeBackupLocation>
25 </UpgradeBackupLocation>
26 <OldToolsVersion>4.0</OldToolsVersion>
27 <PublishUrl>publish\</PublishUrl>
28 <Install>true</Install>
29 <InstallFrom>Disk</InstallFrom>
30 <UpdateEnabled>false</UpdateEnabled>
31 <UpdateMode>Foreground</UpdateMode>
32 <UpdateInterval>7</UpdateInterval>
33 <UpdateIntervalUnits>Days</UpdateIntervalUnits>
34 <UpdatePeriodically>false</UpdatePeriodically>
35 <UpdateRequired>false</UpdateRequired>
36 <MapFileExtensions>true</MapFileExtensions>
37 <ApplicationRevision>0</ApplicationRevision>
38 <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
39 <IsWebBootstrapper>false</IsWebBootstrapper>
40 <UseApplicationTrust>false</UseApplicationTrust>
41 <BootstrapperEnabled>true</BootstrapperEnabled>
42 </PropertyGroup>
43 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
44 <DebugSymbols>true</DebugSymbols>
45 <DebugType>full</DebugType>
46 <Optimize>false</Optimize>
47 <OutputPath>bin\Debug\</OutputPath>
48 <DefineConstants>DEBUG;TRACE</DefineConstants>
49 <ErrorReport>prompt</ErrorReport>
50 <WarningLevel>4</WarningLevel>
51 </PropertyGroup>
52 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
53 <DebugType>pdbonly</DebugType>
54 <Optimize>true</Optimize>
55 <OutputPath>bin\Release\</OutputPath>
56 <DefineConstants>TRACE</DefineConstants>
57 <ErrorReport>prompt</ErrorReport>
58 <WarningLevel>4</WarningLevel>
59 </PropertyGroup>
60 <ItemGroup>
61 <Reference Include="Microsoft.VisualStudio.QualityTools.LoadTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
62 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
63 <Reference Include="Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
64 <Reference Include="System" />
65 <Reference Include="System.Core">
66 <RequiredTargetFramework>3.5</RequiredTargetFramework>
67 </Reference>
68 <Reference Include="System.Runtime.Serialization" />
69 <Reference Include="System.ServiceModel" />
70 <Reference Include="System.Xml" />
71 </ItemGroup>
72 <ItemGroup>
73 <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
74 <Visible>False</Visible>
75 </CodeAnalysisDependentAssemblyPaths>
76 </ItemGroup>
77 <ItemGroup>
78 <Compile Include="EmailValidatorPerfTest.cs" />
79 <Compile Include="Properties\AssemblyInfo.cs" />
80 <Compile Include="Service References\EmailValidatorServiceReference\Reference.cs">
81 <AutoGen>True</AutoGen>
82 <DesignTime>True</DesignTime>
83 <DependentUpon>Reference.svcmap</DependentUpon>
84 </Compile>
85 </ItemGroup>
86 <ItemGroup>
87 <WCFMetadata Include="Service References\" />
88 </ItemGroup>
89 <ItemGroup>
90 <None Include="AF02_CheckIfFull2.webtest">
91 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
92 </None>
93 <None Include="AF02_CheckIfFull.webtest">
94 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
95 </None>
96 <None Include="AF01_Validate.webtest">
97 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
98 </None>
99 <None Include="app.config" />
100 <None Include="EmailValidator.loadtest">
101 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
102 </None>
103 </ItemGroup>
104 <ItemGroup>
105 <WCFMetadataStorage Include="Service References\EmailValidatorServiceReference\" />
106 </ItemGroup>
107 <ItemGroup>
108 <None Include="Service References\EmailValidatorServiceReference\configuration91.svcinfo" />
109 </ItemGroup>
110 <ItemGroup>
111 <None Include="Service References\EmailValidatorServiceReference\configuration.svcinfo" />
112 </ItemGroup>
113 <ItemGroup>
114 <None Include="Service References\EmailValidatorServiceReference\EmailValidator1.wsdl" />
115 <None Include="Service References\EmailValidatorServiceReference\EmailValidator2.xsd">
116 <SubType>Designer</SubType>
117 </None>
118 <None Include="Service References\EmailValidatorServiceReference\EmailValidator21.xsd">
119 <SubType>Designer</SubType>
120 </None>
121 <None Include="Service References\EmailValidatorServiceReference\Reference.svcmap">
122 <Generator>WCF Proxy Generator</Generator>
123 <LastGenOutput>Reference.cs</LastGenOutput>
124 </None>
125 </ItemGroup>
126 <ItemGroup>
127 <ProjectReference Include="..\LoadTestLib\LoadTestLib\PluginLib.csproj">
128 <Project>{226AB0FE-47CF-4C69-8330-C86327AA4246}</Project>
129 <Name>PluginLib</Name>
130 </ProjectReference>
131 </ItemGroup>
132 <ItemGroup>
133 <None Include="Service References\EmailValidatorServiceReference\EmailValidator1.disco" />
134 </ItemGroup>
135 <ItemGroup>
136 <BootstrapperPackage Include=".NETFramework,Version=v4.0">
137 <Visible>False</Visible>
138 <ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
139 <Install>true</Install>
140 </BootstrapperPackage>
141 <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
142 <Visible>False</Visible>
143 <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
144 <Install>false</Install>
145 </BootstrapperPackage>
146 <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
147 <Visible>False</Visible>
148 <ProductName>.NET Framework 3.5 SP1</ProductName>
149 <Install>false</Install>
150 </BootstrapperPackage>
151 <BootstrapperPackage Include="Microsoft.Windows.Installer.4.5">
152 <Visible>False</Visible>
153 <ProductName>Windows Installer 4.5</ProductName>
154 <Install>true</Install>
155 </BootstrapperPackage>
156 </ItemGroup>
157 <Choose>
158 <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
159 <ItemGroup>
160 <Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
161 <Private>False</Private>
162 </Reference>
163 <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
164 <Private>False</Private>
165 </Reference>
166 <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
167 <Private>False</Private>
168 </Reference>
169 <Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
170 <Private>False</Private>
171 </Reference>
172 </ItemGroup>
173 </When>
174 </Choose>
175 <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
176 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
177 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
178 Other similar extension points exist, see Microsoft.Common.targets.
179 <Target Name="BeforeBuild">
180 </Target>
181 <Target Name="AfterBuild">
182 </Target>
183 -->
184 </Project>
...\ No newline at end of file ...\ No newline at end of file
1 using System.Reflection;
2 using System.Runtime.CompilerServices;
3 using System.Runtime.InteropServices;
4
5 // General Information about an assembly is controlled through the following
6 // set of attributes. Change these attribute values to modify the information
7 // associated with an assembly.
8 [assembly: AssemblyTitle("PerformanceTestProject")]
9 [assembly: AssemblyDescription("")]
10 [assembly: AssemblyConfiguration("")]
11 [assembly: AssemblyCompany("Microsoft")]
12 [assembly: AssemblyProduct("PerformanceTestProject")]
13 [assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
14 [assembly: AssemblyTrademark("")]
15 [assembly: AssemblyCulture("")]
16
17 // Setting ComVisible to false makes the types in this assembly not visible
18 // to COM components. If you need to access a type in this assembly from
19 // COM, set the ComVisible attribute to true on that type.
20 [assembly: ComVisible(false)]
21
22 // The following GUID is for the ID of the typelib if this project is exposed to COM
23 [assembly: Guid("1ece9ef0-115b-449d-84c7-84d6b806ce72")]
24
25 // Version information for an assembly consists of the following four values:
26 //
27 // Major Version
28 // Minor Version
29 // Build Number
30 // Revision
31 //
32 // You can specify all the values or you can default the Build and Revision Numbers
33 // by using the '*' as shown below:
34 [assembly: AssemblyVersion("1.0.0.0")]
35 [assembly: AssemblyFileVersion("1.0.0.0")]
1 <?xml version="1.0" encoding="utf-8"?>
2 <discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
3 <contractRef ref="http://vmwinsrv8:8080/EmailValidator?wsdl" docRef="http://vmwinsrv8:8080/EmailValidator" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
4 </discovery>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="utf-8"?>
2 <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="EmailValidator" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
3 <wsdl:types>
4 <xsd:schema targetNamespace="http://tempuri.org/Imports">
5 <xsd:import schemaLocation="http://vmwinsrv8:8080/EmailValidator?xsd=xsd0" namespace="http://tempuri.org/" />
6 <xsd:import schemaLocation="http://vmwinsrv8:8080/EmailValidator?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
7 </xsd:schema>
8 </wsdl:types>
9 <wsdl:message name="IEmailValidator_ValidateAddress_InputMessage">
10 <wsdl:part name="parameters" element="tns:ValidateAddress" />
11 </wsdl:message>
12 <wsdl:message name="IEmailValidator_ValidateAddress_OutputMessage">
13 <wsdl:part name="parameters" element="tns:ValidateAddressResponse" />
14 </wsdl:message>
15 <wsdl:message name="IEmailValidator_RegisterAdress_InputMessage">
16 <wsdl:part name="parameters" element="tns:RegisterAdress" />
17 </wsdl:message>
18 <wsdl:message name="IEmailValidator_RegisterAdress_OutputMessage">
19 <wsdl:part name="parameters" element="tns:RegisterAdressResponse" />
20 </wsdl:message>
21 <wsdl:message name="IEmailValidator_GetAdress_InputMessage">
22 <wsdl:part name="parameters" element="tns:GetAdress" />
23 </wsdl:message>
24 <wsdl:message name="IEmailValidator_GetAdress_OutputMessage">
25 <wsdl:part name="parameters" element="tns:GetAdressResponse" />
26 </wsdl:message>
27 <wsdl:message name="IEmailValidator_checkIfFull_InputMessage">
28 <wsdl:part name="parameters" element="tns:checkIfFull" />
29 </wsdl:message>
30 <wsdl:message name="IEmailValidator_checkIfFull_OutputMessage">
31 <wsdl:part name="parameters" element="tns:checkIfFullResponse" />
32 </wsdl:message>
33 <wsdl:message name="IEmailValidator_checkIfFull2_InputMessage">
34 <wsdl:part name="parameters" element="tns:checkIfFull2" />
35 </wsdl:message>
36 <wsdl:message name="IEmailValidator_checkIfFull2_OutputMessage">
37 <wsdl:part name="parameters" element="tns:checkIfFull2Response" />
38 </wsdl:message>
39 <wsdl:portType name="IEmailValidator">
40 <wsdl:operation name="ValidateAddress">
41 <wsdl:input wsaw:Action="http://tempuri.org/IEmailValidator/ValidateAddress" message="tns:IEmailValidator_ValidateAddress_InputMessage" />
42 <wsdl:output wsaw:Action="http://tempuri.org/IEmailValidator/ValidateAddressResponse" message="tns:IEmailValidator_ValidateAddress_OutputMessage" />
43 </wsdl:operation>
44 <wsdl:operation name="RegisterAdress">
45 <wsdl:input wsaw:Action="http://tempuri.org/IEmailValidator/RegisterAdress" message="tns:IEmailValidator_RegisterAdress_InputMessage" />
46 <wsdl:output wsaw:Action="http://tempuri.org/IEmailValidator/RegisterAdressResponse" message="tns:IEmailValidator_RegisterAdress_OutputMessage" />
47 </wsdl:operation>
48 <wsdl:operation name="GetAdress">
49 <wsdl:input wsaw:Action="http://tempuri.org/IEmailValidator/GetAdress" message="tns:IEmailValidator_GetAdress_InputMessage" />
50 <wsdl:output wsaw:Action="http://tempuri.org/IEmailValidator/GetAdressResponse" message="tns:IEmailValidator_GetAdress_OutputMessage" />
51 </wsdl:operation>
52 <wsdl:operation name="checkIfFull">
53 <wsdl:input wsaw:Action="http://tempuri.org/IEmailValidator/checkIfFull" message="tns:IEmailValidator_checkIfFull_InputMessage" />
54 <wsdl:output wsaw:Action="http://tempuri.org/IEmailValidator/checkIfFullResponse" message="tns:IEmailValidator_checkIfFull_OutputMessage" />
55 </wsdl:operation>
56 <wsdl:operation name="checkIfFull2">
57 <wsdl:input wsaw:Action="http://tempuri.org/IEmailValidator/checkIfFull2" message="tns:IEmailValidator_checkIfFull2_InputMessage" />
58 <wsdl:output wsaw:Action="http://tempuri.org/IEmailValidator/checkIfFull2Response" message="tns:IEmailValidator_checkIfFull2_OutputMessage" />
59 </wsdl:operation>
60 </wsdl:portType>
61 <wsdl:binding name="BasicHttpBinding_IEmailValidator" type="tns:IEmailValidator">
62 <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
63 <wsdl:operation name="ValidateAddress">
64 <soap:operation soapAction="http://tempuri.org/IEmailValidator/ValidateAddress" style="document" />
65 <wsdl:input>
66 <soap:body use="literal" />
67 </wsdl:input>
68 <wsdl:output>
69 <soap:body use="literal" />
70 </wsdl:output>
71 </wsdl:operation>
72 <wsdl:operation name="RegisterAdress">
73 <soap:operation soapAction="http://tempuri.org/IEmailValidator/RegisterAdress" style="document" />
74 <wsdl:input>
75 <soap:body use="literal" />
76 </wsdl:input>
77 <wsdl:output>
78 <soap:body use="literal" />
79 </wsdl:output>
80 </wsdl:operation>
81 <wsdl:operation name="GetAdress">
82 <soap:operation soapAction="http://tempuri.org/IEmailValidator/GetAdress" style="document" />
83 <wsdl:input>
84 <soap:body use="literal" />
85 </wsdl:input>
86 <wsdl:output>
87 <soap:body use="literal" />
88 </wsdl:output>
89 </wsdl:operation>
90 <wsdl:operation name="checkIfFull">
91 <soap:operation soapAction="http://tempuri.org/IEmailValidator/checkIfFull" style="document" />
92 <wsdl:input>
93 <soap:body use="literal" />
94 </wsdl:input>
95 <wsdl:output>
96 <soap:body use="literal" />
97 </wsdl:output>
98 </wsdl:operation>
99 <wsdl:operation name="checkIfFull2">
100 <soap:operation soapAction="http://tempuri.org/IEmailValidator/checkIfFull2" style="document" />
101 <wsdl:input>
102 <soap:body use="literal" />
103 </wsdl:input>
104 <wsdl:output>
105 <soap:body use="literal" />
106 </wsdl:output>
107 </wsdl:operation>
108 </wsdl:binding>
109 <wsdl:service name="EmailValidator">
110 <wsdl:port name="BasicHttpBinding_IEmailValidator" binding="tns:BasicHttpBinding_IEmailValidator">
111 <soap:address location="http://vmwinsrv8:8080/EmailValidator" />
112 </wsdl:port>
113 </wsdl:service>
114 </wsdl:definitions>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="utf-8"?>
2 <xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3 <xs:element name="ValidateAddress">
4 <xs:complexType>
5 <xs:sequence>
6 <xs:element minOccurs="0" name="emailAddress" nillable="true" type="xs:string" />
7 </xs:sequence>
8 </xs:complexType>
9 </xs:element>
10 <xs:element name="ValidateAddressResponse">
11 <xs:complexType>
12 <xs:sequence>
13 <xs:element minOccurs="0" name="ValidateAddressResult" type="xs:boolean" />
14 </xs:sequence>
15 </xs:complexType>
16 </xs:element>
17 <xs:element name="RegisterAdress">
18 <xs:complexType>
19 <xs:sequence>
20 <xs:element minOccurs="0" name="emailAddress" nillable="true" type="xs:string" />
21 </xs:sequence>
22 </xs:complexType>
23 </xs:element>
24 <xs:element name="RegisterAdressResponse">
25 <xs:complexType>
26 <xs:sequence>
27 <xs:element minOccurs="0" name="RegisterAdressResult" type="xs:int" />
28 </xs:sequence>
29 </xs:complexType>
30 </xs:element>
31 <xs:element name="GetAdress">
32 <xs:complexType>
33 <xs:sequence>
34 <xs:element minOccurs="0" name="userID" type="xs:int" />
35 </xs:sequence>
36 </xs:complexType>
37 </xs:element>
38 <xs:element name="GetAdressResponse">
39 <xs:complexType>
40 <xs:sequence>
41 <xs:element minOccurs="0" name="GetAdressResult" nillable="true" type="xs:string" />
42 </xs:sequence>
43 </xs:complexType>
44 </xs:element>
45 <xs:element name="checkIfFull">
46 <xs:complexType>
47 <xs:sequence />
48 </xs:complexType>
49 </xs:element>
50 <xs:element name="checkIfFullResponse">
51 <xs:complexType>
52 <xs:sequence>
53 <xs:element minOccurs="0" name="checkIfFullResult" type="xs:boolean" />
54 </xs:sequence>
55 </xs:complexType>
56 </xs:element>
57 <xs:element name="checkIfFull2">
58 <xs:complexType>
59 <xs:sequence />
60 </xs:complexType>
61 </xs:element>
62 <xs:element name="checkIfFull2Response">
63 <xs:complexType>
64 <xs:sequence>
65 <xs:element minOccurs="0" name="checkIfFull2Result" type="xs:boolean" />
66 </xs:sequence>
67 </xs:complexType>
68 </xs:element>
69 </xs:schema>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="utf-8"?>
2 <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">
3 <xs:element name="anyType" nillable="true" type="xs:anyType" />
4 <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
5 <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
6 <xs:element name="boolean" nillable="true" type="xs:boolean" />
7 <xs:element name="byte" nillable="true" type="xs:byte" />
8 <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
9 <xs:element name="decimal" nillable="true" type="xs:decimal" />
10 <xs:element name="double" nillable="true" type="xs:double" />
11 <xs:element name="float" nillable="true" type="xs:float" />
12 <xs:element name="int" nillable="true" type="xs:int" />
13 <xs:element name="long" nillable="true" type="xs:long" />
14 <xs:element name="QName" nillable="true" type="xs:QName" />
15 <xs:element name="short" nillable="true" type="xs:short" />
16 <xs:element name="string" nillable="true" type="xs:string" />
17 <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
18 <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
19 <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
20 <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
21 <xs:element name="char" nillable="true" type="tns:char" />
22 <xs:simpleType name="char">
23 <xs:restriction base="xs:int" />
24 </xs:simpleType>
25 <xs:element name="duration" nillable="true" type="tns:duration" />
26 <xs:simpleType name="duration">
27 <xs:restriction base="xs:duration">
28 <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
29 <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
30 <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
31 </xs:restriction>
32 </xs:simpleType>
33 <xs:element name="guid" nillable="true" type="tns:guid" />
34 <xs:simpleType name="guid">
35 <xs:restriction base="xs:string">
36 <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
37 </xs:restriction>
38 </xs:simpleType>
39 <xs:attribute name="FactoryType" type="xs:QName" />
40 <xs:attribute name="Id" type="xs:ID" />
41 <xs:attribute name="Ref" type="xs:IDREF" />
42 </xs:schema>
...\ No newline at end of file ...\ No newline at end of file
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.34014
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10
11 namespace PerformanceTestProject.EmailValidatorServiceReference {
12
13
14 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
15 [System.ServiceModel.ServiceContractAttribute(ConfigurationName="EmailValidatorServiceReference.IEmailValidator")]
16 public interface IEmailValidator {
17
18 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmailValidator/ValidateAddress", ReplyAction="http://tempuri.org/IEmailValidator/ValidateAddressResponse")]
19 bool ValidateAddress(string emailAddress);
20
21 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmailValidator/RegisterAdress", ReplyAction="http://tempuri.org/IEmailValidator/RegisterAdressResponse")]
22 int RegisterAdress(string emailAddress);
23
24 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmailValidator/GetAdress", ReplyAction="http://tempuri.org/IEmailValidator/GetAdressResponse")]
25 string GetAdress(int userID);
26
27 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmailValidator/checkIfFull", ReplyAction="http://tempuri.org/IEmailValidator/checkIfFullResponse")]
28 bool checkIfFull();
29
30 [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmailValidator/checkIfFull2", ReplyAction="http://tempuri.org/IEmailValidator/checkIfFull2Response")]
31 bool checkIfFull2();
32 }
33
34 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
35 public interface IEmailValidatorChannel : PerformanceTestProject.EmailValidatorServiceReference.IEmailValidator, System.ServiceModel.IClientChannel {
36 }
37
38 [System.Diagnostics.DebuggerStepThroughAttribute()]
39 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
40 public partial class EmailValidatorClient : System.ServiceModel.ClientBase<PerformanceTestProject.EmailValidatorServiceReference.IEmailValidator>, PerformanceTestProject.EmailValidatorServiceReference.IEmailValidator {
41
42 public EmailValidatorClient() {
43 }
44
45 public EmailValidatorClient(string endpointConfigurationName) :
46 base(endpointConfigurationName) {
47 }
48
49 public EmailValidatorClient(string endpointConfigurationName, string remoteAddress) :
50 base(endpointConfigurationName, remoteAddress) {
51 }
52
53 public EmailValidatorClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
54 base(endpointConfigurationName, remoteAddress) {
55 }
56
57 public EmailValidatorClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
58 base(binding, remoteAddress) {
59 }
60
61 public bool ValidateAddress(string emailAddress) {
62 return base.Channel.ValidateAddress(emailAddress);
63 }
64
65 public int RegisterAdress(string emailAddress) {
66 return base.Channel.RegisterAdress(emailAddress);
67 }
68
69 public string GetAdress(int userID) {
70 return base.Channel.GetAdress(userID);
71 }
72
73 public bool checkIfFull() {
74 return base.Channel.checkIfFull();
75 }
76
77 public bool checkIfFull2() {
78 return base.Channel.checkIfFull2();
79 }
80 }
81 }
1 <?xml version="1.0" encoding="utf-8"?>
2 <ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="1092dbc4-7399-493c-8c22-c14b718f76fe" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
3 <ClientOptions>
4 <GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
5 <EnableDataBinding>true</EnableDataBinding>
6 <ExcludedTypes />
7 <ImportXmlTypes>false</ImportXmlTypes>
8 <GenerateInternalTypes>false</GenerateInternalTypes>
9 <GenerateMessageContracts>false</GenerateMessageContracts>
10 <NamespaceMappings />
11 <CollectionMappings />
12 <GenerateSerializableTypes>true</GenerateSerializableTypes>
13 <Serializer>Auto</Serializer>
14 <UseSerializerForFaults>true</UseSerializerForFaults>
15 <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
16 <ReferencedAssemblies />
17 <ReferencedDataContractTypes />
18 <ServiceContractMappings />
19 </ClientOptions>
20 <MetadataSources>
21 <MetadataSource Address="http://vmwinsrv8:8080/EmailValidator" Protocol="http" SourceId="1" />
22 </MetadataSources>
23 <Metadata>
24 <MetadataFile FileName="EmailValidator2.xsd" MetadataType="Schema" ID="4b9991d3-2162-4bc7-9277-4d5297e13ebb" SourceId="1" SourceUrl="http://vmwinsrv8:8080/EmailValidator?xsd=xsd0" />
25 <MetadataFile FileName="EmailValidator1.disco" MetadataType="Disco" ID="b2c0a6d7-ea5e-4557-b583-502714c3ccc3" SourceId="1" SourceUrl="http://vmwinsrv8:8080/EmailValidator?disco" />
26 <MetadataFile FileName="EmailValidator21.xsd" MetadataType="Schema" ID="fd22d22e-236d-4cee-864d-44441569f21b" SourceId="1" SourceUrl="http://vmwinsrv8:8080/EmailValidator?xsd=xsd1" />
27 <MetadataFile FileName="EmailValidator1.wsdl" MetadataType="Wsdl" ID="66f0a180-8560-4d2f-94cd-b73ebb76c6f6" SourceId="1" SourceUrl="http://vmwinsrv8:8080/EmailValidator?wsdl" />
28 </Metadata>
29 <Extensions>
30 <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
31 <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
32 </Extensions>
33 </ReferenceGroup>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="utf-8"?>
2 <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">
3 <behaviors />
4 <bindings>
5 <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data name=&quot;BasicHttpBinding_IEmailValidator&quot; /&gt;" bindingType="basicHttpBinding" name="BasicHttpBinding_IEmailValidator" />
6 </bindings>
7 <endpoints>
8 <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://vmwinsrv8:8080/EmailValidator&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;BasicHttpBinding_IEmailValidator&quot; contract=&quot;EmailValidatorServiceReference.IEmailValidator&quot; name=&quot;BasicHttpBinding_IEmailValidator&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://vmwinsrv8:8080/EmailValidator&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;BasicHttpBinding_IEmailValidator&quot; contract=&quot;EmailValidatorServiceReference.IEmailValidator&quot; name=&quot;BasicHttpBinding_IEmailValidator&quot; /&gt;" contractName="EmailValidatorServiceReference.IEmailValidator" name="BasicHttpBinding_IEmailValidator" />
9 </endpoints>
10 </configurationSnapshot>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="utf-8" ?>
2 <configuration>
3 <system.serviceModel>
4 <diagnostics performanceCounters="ServiceOnly" />
5 <bindings>
6 <basicHttpBinding>
7 <binding name="BasicHttpBinding_IEmailValidator" />
8 </basicHttpBinding>
9 </bindings>
10 <client>
11 <endpoint address="http://vmwinsrv8:8080/EmailValidator" binding="basicHttpBinding"
12 bindingConfiguration="BasicHttpBinding_IEmailValidator" contract="EmailValidatorServiceReference.IEmailValidator"
13 name="BasicHttpBinding_IEmailValidator" />
14 </client>
15 </system.serviceModel>
16 </configuration>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="UTF-8"?>
2 <TestSettings name="Taurus" id="2f8ab51a-cbad-4cf1-aab3-ae44b1596084" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
3 <Description>These are default test settings for a local test run.</Description>
4 <RemoteController name="taurus.lightsinline.se" />
5 <Execution location="Remote">
6 <TestTypeSpecific>
7 <UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
8 <AssemblyResolution>
9 <TestDirectory useLoadContext="true" />
10 </AssemblyResolution>
11 </UnitTestRunConfig>
12 <WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">
13 <Browser name="Internet Explorer 7.0">
14 <Headers>
15 <Header name="User-Agent" value="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" />
16 <Header name="Accept" value="*/*" />
17 <Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
18 <Header name="Accept-Encoding" value="GZIP" />
19 </Headers>
20 </Browser>
21 </WebTestRunConfiguration>
22 </TestTypeSpecific>
23 <AgentRule name="AllAgentsDefaultRole">
24 </AgentRule>
25 </Execution>
26 </TestSettings>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="UTF-8"?>
2 <TestSettings name="Trace and Test Impact" id="1dea9a0f-0409-4efc-a227-6644f4af8aea" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
3 <Description>These are test settings for Trace and Test Impact.</Description>
4 <Execution>
5 <TestTypeSpecific />
6 <AgentRule name="Execution Agents">
7 <DataCollectors>
8 <DataCollector uri="datacollector://microsoft/SystemInfo/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TestTools.DataCollection.SystemInfo.SystemInfoDataCollector, Microsoft.VisualStudio.TestTools.DataCollection.SystemInfo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" friendlyName="System Information">
9 </DataCollector>
10 <DataCollector uri="datacollector://microsoft/ActionLog/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TestTools.ManualTest.ActionLog.ActionLogPlugin, Microsoft.VisualStudio.TestTools.ManualTest.ActionLog, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" friendlyName="Actions">
11 </DataCollector>
12 <DataCollector uri="datacollector://microsoft/HttpProxy/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TraceCollector.HttpProxyCollector, Microsoft.VisualStudio.TraceCollector, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" friendlyName="ASP.NET Client Proxy for IntelliTrace and Test Impact">
13 </DataCollector>
14 <DataCollector uri="datacollector://microsoft/TestImpact/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TraceCollector.TestImpactDataCollector, Microsoft.VisualStudio.TraceCollector, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" friendlyName="Test Impact">
15 </DataCollector>
16 <DataCollector uri="datacollector://microsoft/TraceDebugger/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TraceCollector.TraceDebuggerDataCollector, Microsoft.VisualStudio.TraceCollector, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" friendlyName="IntelliTrace">
17 </DataCollector>
18 </DataCollectors>
19 </AgentRule>
20 </Execution>
21 </TestSettings>
...\ No newline at end of file ...\ No newline at end of file
1 
2 Microsoft Visual Studio Solution File, Format Version 12.00
3 # Visual Studio 2013
4 VisualStudioVersion = 12.0.21005.1
5 MinimumVisualStudioVersion = 10.0.40219.1
6 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8784D56B-3A97-4F31-9E2F-36A6099C8D8E}"
7 ProjectSection(SolutionItems) = preProject
8 Local.testsettings = Local.testsettings
9 Taurus.testsettings = Taurus.testsettings
10 TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
11 WCFPerformanceServiceDemo.vsmdi = WCFPerformanceServiceDemo.vsmdi
12 EndProjectSection
13 EndProject
14 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerformanceService", "PerformanceService\PerformanceService.csproj", "{298113F4-7126-4E1A-ADD1-F6C5327370E8}"
15 EndProject
16 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleHostApp", "ConsoleHostApp\ConsoleHostApp.csproj", "{111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}"
17 EndProject
18 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerformanceTestProject", "PerformanceTestProject\PerformanceTestProject.csproj", "{BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}"
19 EndProject
20 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PluginLib", "LoadTestLib\LoadTestLib\PluginLib.csproj", "{226AB0FE-47CF-4C69-8330-C86327AA4246}"
21 EndProject
22 Global
23 GlobalSection(SolutionConfigurationPlatforms) = preSolution
24 Debug|Any CPU = Debug|Any CPU
25 Debug|Mixed Platforms = Debug|Mixed Platforms
26 Debug|x86 = Debug|x86
27 Release|Any CPU = Release|Any CPU
28 Release|Mixed Platforms = Release|Mixed Platforms
29 Release|x86 = Release|x86
30 EndGlobalSection
31 GlobalSection(ProjectConfigurationPlatforms) = postSolution
32 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
33 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
34 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
35 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
36 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Debug|x86.ActiveCfg = Debug|Any CPU
37 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
38 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Release|Any CPU.Build.0 = Release|Any CPU
39 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
40 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
41 {298113F4-7126-4E1A-ADD1-F6C5327370E8}.Release|x86.ActiveCfg = Release|Any CPU
42 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Debug|Any CPU.ActiveCfg = Debug|x86
43 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
44 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Debug|Mixed Platforms.Build.0 = Debug|x86
45 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Debug|x86.ActiveCfg = Debug|x86
46 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Debug|x86.Build.0 = Debug|x86
47 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Release|Any CPU.ActiveCfg = Release|x86
48 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Release|Mixed Platforms.ActiveCfg = Release|x86
49 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Release|Mixed Platforms.Build.0 = Release|x86
50 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Release|x86.ActiveCfg = Release|x86
51 {111EAA75-6E7A-48CA-8C9D-56EC2FE08BB2}.Release|x86.Build.0 = Release|x86
52 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
53 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Debug|Any CPU.Build.0 = Debug|Any CPU
54 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
55 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
56 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Debug|x86.ActiveCfg = Debug|Any CPU
57 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Release|Any CPU.ActiveCfg = Release|Any CPU
58 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Release|Any CPU.Build.0 = Release|Any CPU
59 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
60 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
61 {BF25A2FB-91ED-4BE2-8772-FC5E2380B86D}.Release|x86.ActiveCfg = Release|Any CPU
62 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
63 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Debug|Any CPU.Build.0 = Debug|Any CPU
64 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
65 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
66 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Debug|x86.ActiveCfg = Debug|Any CPU
67 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Release|Any CPU.ActiveCfg = Release|Any CPU
68 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Release|Any CPU.Build.0 = Release|Any CPU
69 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
70 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Release|Mixed Platforms.Build.0 = Release|Any CPU
71 {226AB0FE-47CF-4C69-8330-C86327AA4246}.Release|x86.ActiveCfg = Release|Any CPU
72 EndGlobalSection
73 GlobalSection(SolutionProperties) = preSolution
74 HideSolutionNode = FALSE
75 EndGlobalSection
76 GlobalSection(TestCaseManagementSettings) = postSolution
77 CategoryFile = WCFPerformanceServiceDemo.vsmdi
78 EndGlobalSection
79 EndGlobal
1 <?xml version="1.0" encoding="UTF-8"?>
2 <TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
3 <TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
4 <RunConfiguration id="df2338c8-420f-4a05-9bb3-48c6f2903d23" name="Local" storage="local.testsettings" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
5 </TestList>
6 </TestLists>
...\ No newline at end of file ...\ No newline at end of file