Clone04 commited on
Commit
e72a4c2
1 Parent(s): 12c252e

Upload 34 files

Browse files
Files changed (35) hide show
  1. .gitattributes +3 -0
  2. build/linuxBuild_Data/Managed/Edgegap.dll +0 -0
  3. build/linuxBuild_Data/MonoBleedingEdge/etc/config +53 -0
  4. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/Browsers/Compat.browser +42 -0
  5. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx +1901 -0
  6. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/machine.config +280 -0
  7. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/settings.map +48 -0
  8. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/web.config +153 -0
  9. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/Browsers/Compat.browser +42 -0
  10. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/DefaultWsdlHelpGenerator.aspx +1901 -0
  11. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/machine.config +307 -0
  12. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/settings.map +48 -0
  13. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/web.config +252 -0
  14. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/Browsers/Compat.browser +42 -0
  15. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/DefaultWsdlHelpGenerator.aspx +1901 -0
  16. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/machine.config +310 -0
  17. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/settings.map +48 -0
  18. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/web.config +252 -0
  19. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/browscap.ini +0 -0
  20. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/config +53 -0
  21. build/linuxBuild_Data/MonoBleedingEdge/etc/mono/mconfig/config.xml +616 -0
  22. build/linuxBuild_Data/MonoBleedingEdge/x86_64/libMonoPosixHelper.so +0 -0
  23. build/linuxBuild_Data/MonoBleedingEdge/x86_64/libmono-native.so +3 -0
  24. build/linuxBuild_Data/MonoBleedingEdge/x86_64/libmonobdwgc-2.0.so +3 -0
  25. build/linuxBuild_Data/Resources/UnityPlayer.png +0 -0
  26. build/linuxBuild_Data/Resources/unity default resources +3 -0
  27. build/linuxBuild_Data/Resources/unity_builtin_extra +0 -0
  28. build/linuxBuild_Data/RuntimeInitializeOnLoads.json +1 -0
  29. build/linuxBuild_Data/ScriptingAssemblies.json +1 -0
  30. build/linuxBuild_Data/app.info +2 -0
  31. build/linuxBuild_Data/boot.config +6 -0
  32. build/linuxBuild_Data/globalgamemanagers +0 -0
  33. build/linuxBuild_Data/globalgamemanagers.assets +0 -0
  34. build/linuxBuild_Data/level0 +0 -0
  35. build/linuxBuild_Data/sharedassets0.assets +0 -0
.gitattributes CHANGED
@@ -32,3 +32,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
32
  *.zip filter=lfs diff=lfs merge=lfs -text
33
  *.zst filter=lfs diff=lfs merge=lfs -text
34
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
32
  *.zip filter=lfs diff=lfs merge=lfs -text
33
  *.zst filter=lfs diff=lfs merge=lfs -text
34
  *tfevents* filter=lfs diff=lfs merge=lfs -text
35
+ build/linuxBuild_Data/MonoBleedingEdge/x86_64/libmono-native.so filter=lfs diff=lfs merge=lfs -text
36
+ build/linuxBuild_Data/MonoBleedingEdge/x86_64/libmonobdwgc-2.0.so filter=lfs diff=lfs merge=lfs -text
37
+ build/linuxBuild_Data/Resources/unity[[:space:]]default[[:space:]]resources filter=lfs diff=lfs merge=lfs -text
build/linuxBuild_Data/Managed/Edgegap.dll ADDED
Binary file (194 kB). View file
 
build/linuxBuild_Data/MonoBleedingEdge/etc/config ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <configuration>
2
+ <dllmap dll="i:cygwin1.dll" target="libc.so.6" os="!windows" />
3
+ <dllmap dll="libc" target="libc.so.6" os="!windows"/>
4
+ <dllmap dll="intl" target="libc.so.6" os="!windows"/>
5
+ <dllmap dll="intl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/>
6
+ <dllmap dll="libintl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/>
7
+ <dllmap dll="libintl" target="libc.so.6" os="!windows"/>
8
+ <dllmap dll="i:libxslt.dll" target="libxslt.so" os="!windows"/>
9
+ <dllmap dll="i:odbc32.dll" target="libodbc.so.2" os="!windows"/>
10
+ <dllmap dll="i:odbc32.dll" target="libiodbc.dylib" os="osx"/>
11
+ <dllmap dll="oci" target="libclntsh.so" os="!windows"/>
12
+ <dllmap dll="db2cli" target="libdb2_36.so" os="!windows"/>
13
+ <dllmap dll="MonoPosixHelper" target="libMonoPosixHelper.so" os="!windows" />
14
+ <dllmap dll="System.Native" target="$mono_libdir/libmono-native.so" os="!windows" />
15
+ <dllmap dll="System.Net.Security.Native" target="$mono_libdir/libmono-native.so" os="!windows" />
16
+ <dllmap dll="System.Security.Cryptography.Native.Apple" target="$mono_libdir/libmono-native.so" os="osx" />
17
+ <dllmap dll="libmono-btls-shared" target="libmono-btls-shared.so" os="!windows" />
18
+ <dllmap dll="i:msvcrt" target="libc.so.6" os="!windows"/>
19
+ <dllmap dll="i:msvcrt.dll" target="libc.so.6" os="!windows"/>
20
+ <dllmap dll="sqlite" target="libsqlite.so.0" os="!windows"/>
21
+ <dllmap dll="sqlite3" target="libsqlite3.so.0" os="!windows"/>
22
+ <dllmap dll="libX11" target="libX11.so.6" os="!windows" />
23
+ <dllmap dll="libgdk-x11-2.0" target="libgdk-x11-2.0.so.0" os="!windows"/>
24
+ <dllmap dll="libgdk_pixbuf-2.0" target="libgdk_pixbuf-2.0.so.0" os="!windows"/>
25
+ <dllmap dll="libgtk-x11-2.0" target="libgtk-x11-2.0.so.0" os="!windows"/>
26
+ <dllmap dll="libglib-2.0" target="libglib-2.0.so.0" os="!windows"/>
27
+ <dllmap dll="libgobject-2.0" target="libgobject-2.0.so.0" os="!windows"/>
28
+ <dllmap dll="libgnomeui-2" target="libgnomeui-2.so.0" os="!windows"/>
29
+ <dllmap dll="librsvg-2" target="librsvg-2.so.2" os="!windows"/>
30
+ <dllmap dll="libXinerama" target="libXinerama.so.1" os="!windows" />
31
+ <dllmap dll="libasound" target="libasound.so.2" os="!windows" />
32
+ <dllmap dll="libcairo-2.dll" target="libcairo.so.2" os="!windows"/>
33
+ <dllmap dll="libcairo-2.dll" target="libcairo.2.dylib" os="osx"/>
34
+ <dllmap dll="libcups" target="libcups.so.2" os="!windows"/>
35
+ <dllmap dll="libcups" target="libcups.dylib" os="osx"/>
36
+ <dllmap dll="i:kernel32.dll">
37
+ <dllentry dll="__Internal" name="CopyMemory" target="mono_win32_compat_CopyMemory"/>
38
+ <dllentry dll="__Internal" name="FillMemory" target="mono_win32_compat_FillMemory"/>
39
+ <dllentry dll="__Internal" name="MoveMemory" target="mono_win32_compat_MoveMemory"/>
40
+ <dllentry dll="__Internal" name="ZeroMemory" target="mono_win32_compat_ZeroMemory"/>
41
+ </dllmap>
42
+ <dllmap dll="gdiplus" target="libgdiplus.so.0" os="!windows"/>
43
+ <dllmap dll="gdiplus.dll" target="libgdiplus.so.0" os="!windows"/>
44
+ <dllmap dll="gdi32" target="libgdiplus.so.0" os="!windows"/>
45
+ <dllmap dll="gdi32.dll" target="libgdiplus.so.0" os="!windows"/>
46
+
47
+ <!-- Some .net base class library code pinvokes into api-ms-win-core-threadpool-l1-2-0.dll. The only thing this library does is forward the call
48
+ to kernel32.dll (on windows desktop, versions on other platforms might forward elsewhere. Unfortunately this library did not ship with windows7.
49
+ We're using the dll remap functionality in this file to have mono directly route these calls into kernel32, just like the library would do so that
50
+ the BCL code that relies on this can work on windows7 again. This functionality that does not work without this workaround includes NamedServerPipeStream.
51
+ -->
52
+ <dllmap dll="api-ms-win-core-threadpool-l1-2-0.dll" target="kernel32.dll" os="windows"/>
53
+ </configuration>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/Browsers/Compat.browser ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--
2
+ This file defines some of the browsers that Microsoft's implementation provides in
3
+ <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers\*.browser
4
+
5
+ It is not derived from any file distributed with Microsoft's implementation. Since
6
+ we can't distribute MS's browser files, we use browscap.ini to determine
7
+ browser capabilities. Then, if and only if the application contains App_Browser/*.browser
8
+ files and we are using .NET 2.0 or higher, we supplement the capabilities with the
9
+ information in those files and the files in this directory. The primary goal of this file
10
+ is provide browser definitions that might be referenced in App_Browser/*.browser files.
11
+ -->
12
+ <browsers>
13
+ <defaultBrowser id="Default">
14
+ </defaultBrowser>
15
+ <browser id="Default">
16
+ <identification>
17
+ <userAgent match="." />
18
+ </identification>
19
+ </browser>
20
+ <browser id="IE6to9" parentID="Default">
21
+ <identification>
22
+ <capability name="majorver" match="^[6-9]" />
23
+ <capability name="browser" match="^(IE|AOL)$" />
24
+ </identification>
25
+ </browser>
26
+ <browser id="Opera8to9" parentID="Default">
27
+ <identification>
28
+ <capability name="majorver" match="^[8-9]" />
29
+ <capability name="browser" match="^Opera$" />
30
+ </identification>
31
+ </browser>
32
+ <browser id="Safari" parentID="Default">
33
+ <identification>
34
+ <capability name="browser" match="^Safari$" />
35
+ </identification>
36
+ </browser>
37
+ <browser id="Mozilla" parentID="Default">
38
+ <identification>
39
+ <capability name="browser" match="^Mozilla" />
40
+ </identification>
41
+ </browser>
42
+ </browsers>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx ADDED
@@ -0,0 +1,1901 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <%--
2
+ //
3
+ // DefaultWsdlHelpGenerator.aspx:
4
+ //
5
+ // Author:
6
+ // Lluis Sanchez Gual ([email protected])
7
+ //
8
+ // (C) 2003 Ximian, Inc. http://www.ximian.com
9
+ //
10
+ --%>
11
+
12
+ <%@ Import Namespace="System.Collections" %>
13
+ <%@ Import Namespace="System.Collections.Generic" %>
14
+ <%@ Import Namespace="System.IO" %>
15
+ <%@ Import Namespace="System.Xml.Serialization" %>
16
+ <%@ Import Namespace="System.Xml" %>
17
+ <%@ Import Namespace="System.Xml.Schema" %>
18
+ <%@ Import Namespace="System.Web.Services" %>
19
+ <%@ Import Namespace="System.Web.Services.Description" %>
20
+ <%@ Import Namespace="System.Web.Services.Configuration" %>
21
+ <%@ Import Namespace="System.Web.Configuration" %>
22
+ <%@ Import Namespace="System" %>
23
+ <%@ Import Namespace="System.Net" %>
24
+ <%@ Import Namespace="System.Globalization" %>
25
+ <%@ Import Namespace="System.Resources" %>
26
+ <%@ Import Namespace="System.Diagnostics" %>
27
+ <%@ Import Namespace="System.CodeDom" %>
28
+ <%@ Import Namespace="System.CodeDom.Compiler" %>
29
+ <%@ Import Namespace="Microsoft.CSharp" %>
30
+ <%@ Import Namespace="Microsoft.VisualBasic" %>
31
+ <%@ Import Namespace="System.Text" %>
32
+ <%@ Import Namespace="System.Text.RegularExpressions" %>
33
+ <%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
34
+ <%@ Assembly name="System.Web.Services" %>
35
+ <%@ Page debug="true" %>
36
+
37
+ <html>
38
+ <script language="C#" runat="server">
39
+
40
+ ServiceDescriptionCollection descriptions;
41
+ XmlSchemas schemas;
42
+
43
+ string WebServiceName;
44
+ string WebServiceDescription;
45
+ string PageName;
46
+
47
+ string DefaultBinding;
48
+ ArrayList ServiceProtocols;
49
+
50
+ string CurrentOperationName;
51
+ string CurrentOperationBinding;
52
+ string OperationDocumentation;
53
+ string CurrentOperationFormat;
54
+ bool CurrentOperationSupportsTest;
55
+ ArrayList InParams;
56
+ ArrayList OutParams;
57
+ string CurrentOperationProtocols;
58
+ int CodeTextColumns = 95;
59
+ BasicProfileViolationCollection ProfileViolations;
60
+
61
+ void Page_Load(object sender, EventArgs e)
62
+ {
63
+ descriptions = (ServiceDescriptionCollection) Context.Items["wsdls"];
64
+ schemas = (XmlSchemas) Context.Items["schemas"];
65
+
66
+ ServiceDescription desc = descriptions [0];
67
+ if (schemas.Count == 0) schemas = desc.Types.Schemas;
68
+
69
+ Service service = desc.Services[0];
70
+ WebServiceName = service.Name;
71
+ if (desc.Bindings.Count == 0)
72
+ return;
73
+
74
+ DefaultBinding = desc.Bindings[0].Name;
75
+ WebServiceDescription = service.Documentation;
76
+ if (WebServiceDescription == "" || WebServiceDescription == null)
77
+ WebServiceDescription = "Description has not been provided";
78
+ ServiceProtocols = FindServiceProtocols (null);
79
+
80
+ CurrentOperationName = Request.QueryString["op"];
81
+ CurrentOperationBinding = Request.QueryString["bnd"];
82
+ if (CurrentOperationName != null) BuildOperationInfo ();
83
+
84
+ PageName = HttpUtility.UrlEncode (Path.GetFileName(Request.Path), Encoding.UTF8);
85
+
86
+ ArrayList list = new ArrayList ();
87
+ foreach (ServiceDescription sd in descriptions) {
88
+ foreach (Binding bin in sd.Bindings)
89
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null) list.Add (bin);
90
+ }
91
+
92
+ BindingsRepeater.DataSource = list;
93
+ Page.DataBind();
94
+
95
+ ProfileViolations = new BasicProfileViolationCollection ();
96
+ foreach (WsiProfilesElement claims in ((WebServicesSection) WebConfigurationManager.GetSection("system.web/webServices")).ConformanceWarnings)
97
+ if (claims.Name != WsiProfiles.None)
98
+ WebServicesInteroperability.CheckConformance (claims.Name, descriptions, ProfileViolations);
99
+ }
100
+
101
+ void BuildOperationInfo ()
102
+ {
103
+ InParams = new ArrayList ();
104
+ OutParams = new ArrayList ();
105
+
106
+ Port port = FindPort (CurrentOperationBinding, null);
107
+ Binding binding = descriptions.GetBinding (port.Binding);
108
+
109
+ PortType portType = descriptions.GetPortType (binding.Type);
110
+ Operation oper = FindOperation (portType, CurrentOperationName);
111
+
112
+ OperationDocumentation = oper.Documentation;
113
+ if (OperationDocumentation == null || OperationDocumentation == "")
114
+ OperationDocumentation = "No additional remarks";
115
+
116
+ foreach (OperationMessage opm in oper.Messages)
117
+ {
118
+ if (opm is OperationInput)
119
+ BuildParameters (InParams, opm);
120
+ else if (opm is OperationOutput)
121
+ BuildParameters (OutParams, opm);
122
+ }
123
+
124
+ // Protocols supported by the operation
125
+ CurrentOperationProtocols = "";
126
+ WebServiceProtocols testProtocols = 0;
127
+ ArrayList prots = FindServiceProtocols (CurrentOperationName);
128
+ for (int n=0; n<prots.Count; n++) {
129
+ string prot = (string) prots [n];
130
+ if (n != 0) CurrentOperationProtocols += ", ";
131
+ CurrentOperationProtocols += prot;
132
+ if (prot == "HttpGet")
133
+ testProtocols |= WebServiceProtocols.HttpGet;
134
+ else if (prot == "HttpPost") {
135
+ testProtocols |= WebServiceProtocols.HttpPost;
136
+ if (Context.Request.IsLocal)
137
+ testProtocols |= WebServiceProtocols.HttpPostLocalhost;
138
+ }
139
+ }
140
+ CurrentOperationSupportsTest = (WebServicesSection.Current.EnabledProtocols & testProtocols) != 0;
141
+
142
+ // Operation format
143
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
144
+ if (obin != null)
145
+ CurrentOperationFormat = GetOperationFormat (obin);
146
+
147
+ InputParamsRepeater.DataSource = InParams;
148
+ InputFormParamsRepeater.DataSource = InParams;
149
+ OutputParamsRepeater.DataSource = OutParams;
150
+ }
151
+
152
+ void BuildParameters (ArrayList list, OperationMessage opm)
153
+ {
154
+ Message msg = descriptions.GetMessage (opm.Message);
155
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
156
+ {
157
+ MessagePart part = msg.Parts[0];
158
+ XmlSchemaComplexType ctype;
159
+ if (part.Element == XmlQualifiedName.Empty)
160
+ {
161
+ ctype = (XmlSchemaComplexType) schemas.Find (part.Type, typeof(XmlSchemaComplexType));
162
+ }
163
+ else
164
+ {
165
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
166
+ ctype = (XmlSchemaComplexType) elem.SchemaType;
167
+ }
168
+ XmlSchemaSequence seq = ctype.Particle as XmlSchemaSequence;
169
+ if (seq == null) return;
170
+
171
+ foreach (XmlSchemaObject ob in seq.Items)
172
+ {
173
+ Parameter p = new Parameter();
174
+ p.Description = "No additional remarks";
175
+
176
+ if (ob is XmlSchemaElement)
177
+ {
178
+ XmlSchemaElement selem = GetRefElement ((XmlSchemaElement)ob);
179
+ p.Name = selem.Name;
180
+ p.Type = selem.SchemaTypeName.Name;
181
+ }
182
+ else
183
+ {
184
+ p.Name = "Unknown";
185
+ p.Type = "Unknown";
186
+ }
187
+ list.Add (p);
188
+ }
189
+ }
190
+ else
191
+ {
192
+ foreach (MessagePart part in msg.Parts)
193
+ {
194
+ Parameter p = new Parameter ();
195
+ p.Description = "No additional remarks";
196
+ p.Name = part.Name;
197
+ if (part.Element == XmlQualifiedName.Empty)
198
+ p.Type = part.Type.Name;
199
+ else
200
+ {
201
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
202
+ p.Type = elem.SchemaTypeName.Name;
203
+ }
204
+ list.Add (p);
205
+ }
206
+ }
207
+ }
208
+
209
+ string GetOperationFormat (OperationBinding obin)
210
+ {
211
+ string format = "";
212
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
213
+ if (sob != null) {
214
+ format = sob.Style.ToString ();
215
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
216
+ if (sbb != null)
217
+ format += " / " + sbb.Use;
218
+ }
219
+ return format;
220
+ }
221
+
222
+ XmlSchemaElement GetRefElement (XmlSchemaElement elem)
223
+ {
224
+ if (!elem.RefName.IsEmpty)
225
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
226
+ else
227
+ return elem;
228
+ }
229
+
230
+ ArrayList FindServiceProtocols(string operName)
231
+ {
232
+ ArrayList table = new ArrayList ();
233
+ Service service = descriptions[0].Services[0];
234
+ foreach (Port port in service.Ports)
235
+ {
236
+ string prot = null;
237
+ Binding bin = descriptions.GetBinding (port.Binding);
238
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null)
239
+ prot = "Soap";
240
+ else
241
+ {
242
+ HttpBinding hb = (HttpBinding) bin.Extensions.Find (typeof(HttpBinding));
243
+ if (hb != null && hb.Verb == "POST") prot = "HttpPost";
244
+ else if (hb != null && hb.Verb == "GET") prot = "HttpGet";
245
+ }
246
+
247
+ if (prot != null && operName != null)
248
+ {
249
+ if (FindOperation (bin, operName) == null)
250
+ prot = null;
251
+ }
252
+
253
+ if (prot != null && !table.Contains (prot))
254
+ table.Add (prot);
255
+ }
256
+ return table;
257
+ }
258
+
259
+ Port FindPort (string portName, string protocol)
260
+ {
261
+ Service service = descriptions[0].Services[0];
262
+ foreach (Port port in service.Ports)
263
+ {
264
+ if (portName == null)
265
+ {
266
+ Binding binding = descriptions.GetBinding (port.Binding);
267
+ if (GetProtocol (binding) == protocol) return port;
268
+ }
269
+ else if (port.Name == portName)
270
+ return port;
271
+ }
272
+ return null;
273
+ }
274
+
275
+ string GetProtocol (Binding binding)
276
+ {
277
+ if (binding.Extensions.Find (typeof(SoapBinding)) != null) return "Soap";
278
+ HttpBinding hb = (HttpBinding) binding.Extensions.Find (typeof(HttpBinding));
279
+ if (hb == null) return "";
280
+ if (hb.Verb == "POST") return "HttpPost";
281
+ if (hb.Verb == "GET") return "HttpGet";
282
+ return "";
283
+ }
284
+
285
+
286
+ Operation FindOperation (PortType portType, string name)
287
+ {
288
+ foreach (Operation oper in portType.Operations) {
289
+ if (oper.Messages.Input.Name != null) {
290
+ if (oper.Messages.Input.Name == name) return oper;
291
+ }
292
+ else
293
+ if (oper.Name == name) return oper;
294
+ }
295
+
296
+ return null;
297
+ }
298
+
299
+ OperationBinding FindOperation (Binding binding, string name)
300
+ {
301
+ foreach (OperationBinding oper in binding.Operations) {
302
+ if (oper.Input.Name != null) {
303
+ if (oper.Input.Name == name) return oper;
304
+ }
305
+ else
306
+ if (oper.Name == name) return oper;
307
+ }
308
+
309
+ return null;
310
+ }
311
+
312
+ string FormatBindingName (string name)
313
+ {
314
+ if (name == DefaultBinding) return "Methods";
315
+ else return "Methods for binding<br>" + name;
316
+ }
317
+
318
+ string GetOpName (object op)
319
+ {
320
+ OperationBinding ob = op as OperationBinding;
321
+ if (ob == null) return "";
322
+ if (ob.Input.Name != null) return ob.Input.Name;
323
+ else return ob.Name;
324
+ }
325
+
326
+ bool HasFormResult
327
+ {
328
+ get { return Request.QueryString ["ext"] == "testform"; }
329
+ }
330
+
331
+ class NoCheckCertificatePolicy : ICertificatePolicy {
332
+ public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
333
+ {
334
+ return true;
335
+ }
336
+ }
337
+
338
+ string GetOrPost ()
339
+ {
340
+ return (CurrentOperationProtocols.IndexOf ("HttpGet") >= 0) ? "GET" : "POST";
341
+ }
342
+
343
+ string GetQS ()
344
+ {
345
+ bool fill = false;
346
+ string qs = "";
347
+ NameValueCollection query_string = Request.QueryString;
348
+ for (int n = 0; n < query_string.Count; n++) {
349
+ if (fill) {
350
+ if (qs != "") qs += "&";
351
+ qs += query_string.GetKey(n) + "=" + Server.UrlEncode (query_string [n]);
352
+ }
353
+ if (query_string.GetKey(n) == "ext") fill = true;
354
+ }
355
+
356
+ return qs;
357
+ }
358
+
359
+ string GetTestResultUrl ()
360
+ {
361
+ if (!HasFormResult) return "";
362
+
363
+ string location = null;
364
+ ServiceDescription desc = descriptions [0];
365
+ Service service = desc.Services[0];
366
+ foreach (Port port in service.Ports)
367
+ if (port.Name == CurrentOperationBinding)
368
+ {
369
+ SoapAddressBinding sbi = (SoapAddressBinding) port.Extensions.Find (typeof(SoapAddressBinding));
370
+ if (sbi != null)
371
+ location = sbi.Location;
372
+ }
373
+
374
+ if (location == null)
375
+ return "Could not locate web service";
376
+
377
+ return location + "/" + CurrentOperationName;
378
+ }
379
+
380
+ string GenerateOperationMessages (string protocol, bool generateInput)
381
+ {
382
+ if (!IsOperationSupported (protocol)) return "";
383
+
384
+ Port port;
385
+ if (protocol != "Soap") port = FindPort (null, protocol);
386
+ else port = FindPort (CurrentOperationBinding, null);
387
+
388
+ Binding binding = descriptions.GetBinding (port.Binding);
389
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
390
+ PortType portType = descriptions.GetPortType (binding.Type);
391
+ Operation oper = FindOperation (portType, CurrentOperationName);
392
+
393
+ HtmlSampleGenerator sg = new HtmlSampleGenerator (descriptions, schemas);
394
+ string txt = sg.GenerateMessage (port, obin, oper, protocol, generateInput);
395
+ if (protocol == "Soap") txt = WrapText (txt,CodeTextColumns);
396
+ txt = ColorizeXml (txt);
397
+ txt = txt.Replace ("@placeholder!","<span class='literal-placeholder'>");
398
+ txt = txt.Replace ("!placeholder@","</span>");
399
+ return txt;
400
+ }
401
+
402
+ bool IsOperationSupported (string protocol)
403
+ {
404
+ if (CurrentPage != "op" || CurrentTab != "msg") return false;
405
+ if (protocol == "Soap") return true;
406
+
407
+ Port port = FindPort (null, protocol);
408
+ if (port == null) return false;
409
+ Binding binding = descriptions.GetBinding (port.Binding);
410
+ if (binding == null) return false;
411
+ return FindOperation (binding, CurrentOperationName) != null;
412
+ }
413
+
414
+ //
415
+ // Proxy code generation
416
+ //
417
+
418
+ string GetProxyCode ()
419
+ {
420
+ CodeNamespace codeNamespace = new CodeNamespace();
421
+ CodeCompileUnit codeUnit = new CodeCompileUnit();
422
+
423
+ codeUnit.Namespaces.Add (codeNamespace);
424
+
425
+ ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
426
+
427
+ foreach (ServiceDescription sd in descriptions)
428
+ importer.AddServiceDescription(sd, null, null);
429
+
430
+ foreach (XmlSchema sc in schemas)
431
+ importer.Schemas.Add (sc);
432
+
433
+ importer.Import(codeNamespace, codeUnit);
434
+
435
+ string langId = Request.QueryString ["lang"];
436
+ if (langId == null || langId == "") langId = "cs";
437
+ CodeDomProvider provider = GetProvider (langId);
438
+ ICodeGenerator generator = provider.CreateGenerator();
439
+ CodeGeneratorOptions options = new CodeGeneratorOptions();
440
+
441
+ StringWriter sw = new StringWriter ();
442
+ generator.GenerateCodeFromCompileUnit(codeUnit, sw, options);
443
+
444
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), langId);
445
+ }
446
+
447
+ public string CurrentLanguage
448
+ {
449
+ get {
450
+ string langId = Request.QueryString ["lang"];
451
+ if (langId == null || langId == "") langId = "cs";
452
+ return langId;
453
+ }
454
+ }
455
+
456
+ public string CurrentProxytName
457
+ {
458
+ get {
459
+ string lan = CurrentLanguage == "cs" ? "C#" : "Visual Basic";
460
+ return lan + " Client Proxy";
461
+ }
462
+ }
463
+
464
+ private CodeDomProvider GetProvider(string langId)
465
+ {
466
+ switch (langId.ToUpper())
467
+ {
468
+ case "CS": return new CSharpCodeProvider();
469
+ case "VB": return new VBCodeProvider();
470
+ default: return null;
471
+ }
472
+ }
473
+
474
+ //
475
+ // Document generation
476
+ //
477
+ class UTF8StringWriter : StringWriter {
478
+ public override Encoding Encoding {
479
+ get { return Encoding.UTF8; }
480
+ }
481
+ }
482
+
483
+ string GenerateDocument ()
484
+ {
485
+ UTF8StringWriter sw = new UTF8StringWriter ();
486
+
487
+ if (CurrentDocType == "wsdl")
488
+ descriptions [CurrentDocInd].Write (sw);
489
+ else if (CurrentDocType == "schema")
490
+ schemas [CurrentDocInd].Write (sw);
491
+
492
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), "xml");
493
+ }
494
+
495
+ public string CurrentDocType
496
+ {
497
+ get { return Request.QueryString ["doctype"] != null ? Request.QueryString ["doctype"] : "wsdl"; }
498
+ }
499
+
500
+ public int CurrentDocInd
501
+ {
502
+ get { return Request.QueryString ["docind"] != null ? int.Parse (Request.QueryString ["docind"]) : 0; }
503
+ }
504
+
505
+ public string CurrentDocumentName
506
+ {
507
+ get {
508
+ if (CurrentDocType == "wsdl")
509
+ return "WSDL document for namespace \"" + descriptions [CurrentDocInd].TargetNamespace + "\"";
510
+ else
511
+ return "Xml Schema for namespace \"" + schemas [CurrentDocInd].TargetNamespace + "\"";
512
+ }
513
+ }
514
+
515
+ //
516
+ // Pages and tabs
517
+ //
518
+
519
+ bool firstTab = true;
520
+ ArrayList disabledTabs = new ArrayList ();
521
+
522
+ string CurrentTab
523
+ {
524
+ get { return Request.QueryString["tab"] != null ? Request.QueryString["tab"] : "main" ; }
525
+ }
526
+
527
+ string CurrentPage
528
+ {
529
+ get { return Request.QueryString["page"] != null ? Request.QueryString["page"] : "main" ; }
530
+ }
531
+
532
+ void WriteTabs ()
533
+ {
534
+ if (CurrentOperationName != null)
535
+ {
536
+ WriteTab ("main","Overview");
537
+ WriteTab ("test","Test Form");
538
+ WriteTab ("msg","Message Layout");
539
+ }
540
+ }
541
+
542
+ void WriteTab (string id, string label)
543
+ {
544
+ if (!firstTab) Response.Write("&nbsp;|&nbsp;");
545
+ firstTab = false;
546
+
547
+ string cname = CurrentTab == id ? "tabLabelOn" : "tabLabelOff";
548
+ Response.Write ("<a href='" + PageName + "?" + GetPageContext(null) + GetDataContext() + "tab=" + id + "' style='text-decoration:none'>");
549
+ Response.Write ("<span class='" + cname + "'>" + label + "</span>");
550
+ Response.Write ("</a>");
551
+ }
552
+
553
+ string GetTabContext (string pag, string tab)
554
+ {
555
+ if (tab == null) tab = CurrentTab;
556
+ if (pag == null) pag = CurrentPage;
557
+ if (pag != CurrentPage) tab = "main";
558
+ return "page=" + pag + "&tab=" + tab + "&";
559
+ }
560
+
561
+ string GetPageContext (string pag)
562
+ {
563
+ if (pag == null) pag = CurrentPage;
564
+ return "page=" + pag + "&";
565
+ }
566
+
567
+ class Tab
568
+ {
569
+ public string Id;
570
+ public string Label;
571
+ }
572
+
573
+ //
574
+ // Syntax coloring
575
+ //
576
+
577
+ static string keywords_cs =
578
+ "(\\babstract\\b|\\bevent\\b|\\bnew\\b|\\bstruct\\b|\\bas\\b|\\bexplicit\\b|\\bnull\\b|\\bswitch\\b|\\bbase\\b|\\bextern\\b|" +
579
+ "\\bobject\\b|\\bthis\\b|\\bbool\\b|\\bfalse\\b|\\boperator\\b|\\bthrow\\b|\\bbreak\\b|\\bfinally\\b|\\bout\\b|\\btrue\\b|" +
580
+ "\\bbyte\\b|\\bfixed\\b|\\boverride\\b|\\btry\\b|\\bcase\\b|\\bfloat\\b|\\bparams\\b|\\btypeof\\b|\\bcatch\\b|\\bfor\\b|" +
581
+ "\\bprivate\\b|\\buint\\b|\\bchar\\b|\\bforeach\\b|\\bprotected\\b|\\bulong\\b|\\bchecked\\b|\\bgoto\\b|\\bpublic\\b|" +
582
+ "\\bunchecked\\b|\\bclass\\b|\\bif\\b|\\breadonly\\b|\\bunsafe\\b|\\bconst\\b|\\bimplicit\\b|\\bref\\b|\\bushort\\b|" +
583
+ "\\bcontinue\\b|\\bin\\b|\\breturn\\b|\\busing\\b|\\bdecimal\\b|\\bint\\b|\\bsbyte\\b|\\bvirtual\\b|\\bdefault\\b|" +
584
+ "\\binterface\\b|\\bsealed\\b|\\bvolatile\\b|\\bdelegate\\b|\\binternal\\b|\\bshort\\b|\\bvoid\\b|\\bdo\\b|\\bis\\b|" +
585
+ "\\bsizeof\\b|\\bwhile\\b|\\bdouble\\b|\\block\\b|\\bstackalloc\\b|\\belse\\b|\\blong\\b|\\bstatic\\b|\\benum\\b|" +
586
+ "\\bnamespace\\b|\\bstring\\b)";
587
+
588
+ static string keywords_vb =
589
+ "(\\bAddHandler\\b|\\bAddressOf\\b|\\bAlias\\b|\\bAnd\\b|\\bAndAlso\\b|\\bAnsi\\b|\\bAs\\b|\\bAssembly\\b|" +
590
+ "\\bAuto\\b|\\bBoolean\\b|\\bByRef\\b|\\bByte\\b|\\bByVal\\b|\\bCall\\b|\\bCase\\b|\\bCatch\\b|" +
591
+ "\\bCBool\\b|\\bCByte\\b|\\bCChar\\b|\\bCDate\\b|\\bCDec\\b|\\bCDbl\\b|\\bChar\\b|\\bCInt\\b|" +
592
+ "\\bClass\\b|\\bCLng\\b|\\bCObj\\b|\\bConst\\b|\\bCShort\\b|\\bCSng\\b|\\bCStr\\b|\\bCType\\b|" +
593
+ "\\bDate\\b|\\bDecimal\\b|\\bDeclare\\b|\\bDefault\\b|\\bDelegate\\b|\\bDim\\b|\\bDirectCast\\b|\\bDo\\b|" +
594
+ "\\bDouble\\b|\\bEach\\b|\\bElse\\b|\\bElseIf\\b|\\bEnd\\b|\\bEnum\\b|\\bErase\\b|\\bError\\b|" +
595
+ "\\bEvent\\b|\\bExit\\b|\\bFalse\\b|\\bFinally\\b|\\bFor\\b|\\bFriend\\b|\\bFunction\\b|\\bGet\\b|" +
596
+ "\\bGetType\\b|\\bGoSub\\b|\\bGoTo\\b|\\bHandles\\b|\\bIf\\b|\\bImplements\\b|\\bImports\\b|\\bIn\\b|" +
597
+ "\\bInherits\\b|\\bInteger\\b|\\bInterface\\b|\\bIs\\b|\\bLet\\b|\\bLib\\b|\\bLike\\b|\\bLong\\b|" +
598
+ "\\bLoop\\b|\\bMe\\b|\\bMod\\b|\\bModule\\b|\\bMustInherit\\b|\\bMustOverride\\b|\\bMyBase\\b|\\bMyClass\\b|" +
599
+ "\\bNamespace\\b|\\bNew\\b|\\bNext\\b|\\bNot\\b|\\bNothing\\b|\\bNotInheritable\\b|\\bNotOverridable\\b|\\bObject\\b|" +
600
+ "\\bOn\\b|\\bOption\\b|\\bOptional\\b|\\bOr\\b|\\bOrElse\\b|\\bOverloads\\b|\\bOverridable\\b|\\bOverrides\\b|" +
601
+ "\\bParamArray\\b|\\bPreserve\\b|\\bPrivate\\b|\\bProperty\\b|\\bProtected\\b|\\bPublic\\b|\\bRaiseEvent\\b|\\bReadOnly\\b|" +
602
+ "\\bReDim\\b|\\bREM\\b|\\bRemoveHandler\\b|\\bResume\\b|\\bReturn\\b|\\bSelect\\b|\\bSet\\b|\\bShadows\\b|" +
603
+ "\\bShared\\b|\\bShort\\b|\\bSingle\\b|\\bStatic\\b|\\bStep\\b|\\bStop\\b|\\bString\\b|\\bStructure\\b|" +
604
+ "\\bSub\\b|\\bSyncLock\\b|\\bThen\\b|\\bThrow\\b|\\bTo\\b|\\bTrue\\b|\\bTry\\b|\\bTypeOf\\b|" +
605
+ "\\bUnicode\\b|\\bUntil\\b|\\bVariant\\b|\\bWhen\\b|\\bWhile\\b|\\bWith\\b|\\bWithEvents\\b|\\bWriteOnly\\b|\\bXor\\b)";
606
+
607
+ string Colorize (string text, string lang)
608
+ {
609
+ if (lang == "xml") return ColorizeXml (text);
610
+ else if (lang == "cs") return ColorizeCs (text);
611
+ else if (lang == "vb") return ColorizeVb (text);
612
+ else return text;
613
+ }
614
+
615
+ string ColorizeXml (string text)
616
+ {
617
+ text = text.Replace (" ", "&nbsp;");
618
+ Regex re = new Regex ("\r\n|\r|\n");
619
+ text = re.Replace (text, "_br_");
620
+
621
+ re = new Regex ("<\\s*(\\/?)\\s*([\\s\\S]*?)\\s*(\\/?)\\s*>");
622
+ text = re.Replace (text,"{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
623
+
624
+ re = new Regex ("\\{(\\w*):([\\s\\S]*?)\\}");
625
+ text = re.Replace (text,"<span style='color:$1'>$2</span>");
626
+
627
+ re = new Regex ("\"(.*?)\"");
628
+ text = re.Replace (text,"\"<span style='color:purple'>$1</span>\"");
629
+
630
+
631
+ text = text.Replace ("\t", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
632
+ text = text.Replace ("_br_", "<br>");
633
+ return text;
634
+ }
635
+
636
+ string ColorizeCs (string text)
637
+ {
638
+ text = text.Replace (" ", "&nbsp;");
639
+
640
+ text = text.Replace ("<", "&lt;");
641
+ text = text.Replace (">", "&gt;");
642
+
643
+ Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
644
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
645
+
646
+ re = new Regex ("//(((.(?!\"</span>))|\"(((?!\").)*)\"</span>)*)(\r|\n|\r\n)");
647
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
648
+
649
+ re = new Regex (keywords_cs);
650
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
651
+
652
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
653
+ text = text.Replace ("\n","<br/>");
654
+
655
+ return text;
656
+ }
657
+
658
+ string ColorizeVb (string text)
659
+ {
660
+ text = text.Replace (" ", "&nbsp;");
661
+
662
+ /* Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
663
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
664
+
665
+ re = new Regex ("'(((.(?!\"\\<\\/span\\>))|\"(((?!\").)*)\"\\<\\/span\\>)*)(\r|\n|\r\n)");
666
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
667
+
668
+ re = new Regex (keywords_vb);
669
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
670
+ */
671
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
672
+ text = text.Replace ("\n","<br/>");
673
+ return text;
674
+ }
675
+
676
+ //
677
+ // Helper methods and classes
678
+ //
679
+
680
+ string GetDataContext ()
681
+ {
682
+ return "op=" + CurrentOperationName + "&bnd=" + CurrentOperationBinding + "&";
683
+ }
684
+
685
+ string GetOptionSel (string v1, string v2)
686
+ {
687
+ string op = "<option ";
688
+ if (v1 == v2) op += "selected ";
689
+ return op + "value='" + v1 + "'>";
690
+ }
691
+
692
+ string WrapText (string text, int maxChars)
693
+ {
694
+ text = text.Replace(" />","/>");
695
+
696
+ string linspace = null;
697
+ int lincount = 0;
698
+ int breakpos = 0;
699
+ int linstart = 0;
700
+ bool inquotes = false;
701
+ char lastc = ' ';
702
+ string sublineIndent = "";
703
+ System.Text.StringBuilder sb = new System.Text.StringBuilder ();
704
+ for (int n=0; n<text.Length; n++)
705
+ {
706
+ char c = text [n];
707
+
708
+ if (c=='\r' || c=='\n' || n==text.Length-1)
709
+ {
710
+ sb.Append (linspace + sublineIndent + text.Substring (linstart, n-linstart+1));
711
+ linspace = null;
712
+ lincount = 0;
713
+ linstart = n+1;
714
+ breakpos = linstart;
715
+ sublineIndent = "";
716
+ lastc = c;
717
+ continue;
718
+ }
719
+
720
+ if (lastc==',' || lastc=='(')
721
+ {
722
+ if (!inquotes) breakpos = n;
723
+ }
724
+
725
+ if (lincount > maxChars && breakpos >= linstart)
726
+ {
727
+ if (linspace != null)
728
+ sb.Append (linspace + sublineIndent);
729
+ sb.Append (text.Substring (linstart, breakpos-linstart));
730
+ sb.Append ("\n");
731
+ sublineIndent = " ";
732
+ lincount = linspace.Length + sublineIndent.Length + (n-breakpos);
733
+ linstart = breakpos;
734
+ }
735
+
736
+ if (c==' ' || c=='\t')
737
+ {
738
+ if (!inquotes)
739
+ breakpos = n;
740
+ }
741
+ else if (c=='"')
742
+ {
743
+ inquotes = !inquotes;
744
+ }
745
+ else
746
+ if (linspace == null) {
747
+ linspace = text.Substring (linstart, n-linstart);
748
+ linstart = n;
749
+ }
750
+
751
+ lincount++;
752
+ lastc = c;
753
+ }
754
+ return sb.ToString ();
755
+ }
756
+
757
+ class Parameter
758
+ {
759
+ string name;
760
+ string type;
761
+ string description;
762
+
763
+ public string Name { get { return name; } set { name = value; } }
764
+ public string Type { get { return type; } set { type = value; } }
765
+ public string Description { get { return description; } set { description = value; } }
766
+ }
767
+
768
+ public class HtmlSampleGenerator: SampleGenerator
769
+ {
770
+ public HtmlSampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
771
+ : base (services, schemas)
772
+ {
773
+ }
774
+
775
+ protected override string GetLiteral (string s)
776
+ {
777
+ return "@placeholder!" + s + "!placeholder@";
778
+ }
779
+ }
780
+
781
+
782
+ public class SampleGenerator
783
+ {
784
+ protected ServiceDescriptionCollection descriptions;
785
+ protected XmlSchemas schemas;
786
+ XmlSchemaElement anyElement;
787
+ ArrayList queue;
788
+ SoapBindingUse currentUse;
789
+ XmlDocument document = new XmlDocument ();
790
+
791
+ static readonly XmlQualifiedName anyType = new XmlQualifiedName ("anyType",XmlSchema.Namespace);
792
+ static readonly XmlQualifiedName arrayType = new XmlQualifiedName ("Array","http://schemas.xmlsoap.org/soap/encoding/");
793
+ static readonly XmlQualifiedName arrayTypeRefName = new XmlQualifiedName ("arrayType","http://schemas.xmlsoap.org/soap/encoding/");
794
+ const string SoapEnvelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
795
+ const string WsdlNamespace = "http://schemas.xmlsoap.org/wsdl/";
796
+ const string SoapEncodingNamespace = "http://schemas.xmlsoap.org/soap/encoding/";
797
+
798
+ class EncodedType
799
+ {
800
+ public EncodedType (string ns, XmlSchemaElement elem) { Namespace = ns; Element = elem; }
801
+ public string Namespace;
802
+ public XmlSchemaElement Element;
803
+ }
804
+
805
+ public SampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
806
+ {
807
+ descriptions = services;
808
+ this.schemas = schemas;
809
+ queue = new ArrayList ();
810
+ }
811
+
812
+ public string GenerateMessage (Port port, OperationBinding obin, Operation oper, string protocol, bool generateInput)
813
+ {
814
+ OperationMessage msg = null;
815
+ foreach (OperationMessage opm in oper.Messages)
816
+ {
817
+ if (opm is OperationInput && generateInput) msg = opm;
818
+ else if (opm is OperationOutput && !generateInput) msg = opm;
819
+ }
820
+ if (msg == null) return null;
821
+
822
+ switch (protocol) {
823
+ case "Soap": return GenerateHttpSoapMessage (port, obin, oper, msg);
824
+ case "HttpGet": return GenerateHttpGetMessage (port, obin, oper, msg);
825
+ case "HttpPost": return GenerateHttpPostMessage (port, obin, oper, msg);
826
+ }
827
+ return "Unknown protocol";
828
+ }
829
+
830
+ public string GenerateHttpSoapMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
831
+ {
832
+ string req = "";
833
+
834
+ if (msg is OperationInput)
835
+ {
836
+ SoapAddressBinding sab = port.Extensions.Find (typeof(SoapAddressBinding)) as SoapAddressBinding;
837
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
838
+ req += "POST " + new Uri (sab.Location).AbsolutePath + "\n";
839
+ req += "SOAPAction: " + sob.SoapAction + "\n";
840
+ req += "Content-Type: text/xml; charset=utf-8\n";
841
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
842
+ req += "Host: " + GetLiteral ("string") + "\n\n";
843
+ }
844
+ else
845
+ {
846
+ req += "HTTP/1.0 200 OK\n";
847
+ req += "Content-Type: text/xml; charset=utf-8\n";
848
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
849
+ }
850
+
851
+ req += GenerateSoapMessage (obin, oper, msg);
852
+ return req;
853
+ }
854
+
855
+ public string GenerateHttpGetMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
856
+ {
857
+ string req = "";
858
+
859
+ if (msg is OperationInput)
860
+ {
861
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
862
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
863
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location + "?" + BuildQueryString (msg);
864
+ req += "GET " + location + "\n";
865
+ req += "Host: " + GetLiteral ("string");
866
+ }
867
+ else
868
+ {
869
+ req += "HTTP/1.0 200 OK\n";
870
+ req += "Content-Type: text/xml; charset=utf-8\n";
871
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
872
+
873
+ MimeXmlBinding mxb = (MimeXmlBinding) obin.Output.Extensions.Find (typeof(MimeXmlBinding)) as MimeXmlBinding;
874
+ if (mxb == null) return req;
875
+
876
+ Message message = descriptions.GetMessage (msg.Message);
877
+ XmlQualifiedName ename = null;
878
+ foreach (MessagePart part in message.Parts)
879
+ if (part.Name == mxb.Part) ename = part.Element;
880
+
881
+ if (ename == null) return req + GetLiteral("string");
882
+
883
+ StringWriter sw = new StringWriter ();
884
+ XmlTextWriter xtw = new XmlTextWriter (sw);
885
+ xtw.Formatting = Formatting.Indented;
886
+ currentUse = SoapBindingUse.Literal;
887
+ WriteRootElementSample (xtw, ename);
888
+ xtw.Close ();
889
+ req += sw.ToString ();
890
+ }
891
+
892
+ return req;
893
+ }
894
+
895
+ public string GenerateHttpPostMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
896
+ {
897
+ string req = "";
898
+
899
+ if (msg is OperationInput)
900
+ {
901
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
902
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
903
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location;
904
+ req += "POST " + location + "\n";
905
+ req += "Content-Type: application/x-www-form-urlencoded\n";
906
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
907
+ req += "Host: " + GetLiteral ("string") + "\n\n";
908
+ req += BuildQueryString (msg);
909
+ }
910
+ else return GenerateHttpGetMessage (port, obin, oper, msg);
911
+
912
+ return req;
913
+ }
914
+
915
+ string BuildQueryString (OperationMessage opm)
916
+ {
917
+ string s = "";
918
+ Message msg = descriptions.GetMessage (opm.Message);
919
+ foreach (MessagePart part in msg.Parts)
920
+ {
921
+ if (s.Length != 0) s += "&";
922
+ s += part.Name + "=" + GetLiteral (part.Type.Name);
923
+ }
924
+ return s;
925
+ }
926
+
927
+ public string GenerateSoapMessage (OperationBinding obin, Operation oper, OperationMessage msg)
928
+ {
929
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
930
+ SoapBindingStyle style = (sob != null) ? sob.Style : SoapBindingStyle.Document;
931
+
932
+ MessageBinding msgbin = (msg is OperationInput) ? (MessageBinding) obin.Input : (MessageBinding)obin.Output;
933
+ SoapBodyBinding sbb = msgbin.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
934
+ SoapBindingUse bodyUse = (sbb != null) ? sbb.Use : SoapBindingUse.Literal;
935
+
936
+ StringWriter sw = new StringWriter ();
937
+ XmlTextWriter xtw = new XmlTextWriter (sw);
938
+ xtw.Formatting = Formatting.Indented;
939
+
940
+ xtw.WriteStartDocument ();
941
+ xtw.WriteStartElement ("soap", "Envelope", SoapEnvelopeNamespace);
942
+ xtw.WriteAttributeString ("xmlns", "xsi", null, XmlSchema.InstanceNamespace);
943
+ xtw.WriteAttributeString ("xmlns", "xsd", null, XmlSchema.Namespace);
944
+
945
+ if (bodyUse == SoapBindingUse.Encoded)
946
+ {
947
+ xtw.WriteAttributeString ("xmlns", "soapenc", null, SoapEncodingNamespace);
948
+ xtw.WriteAttributeString ("xmlns", "tns", null, msg.Message.Namespace);
949
+ }
950
+
951
+ // Serialize headers
952
+
953
+ bool writtenHeader = false;
954
+ foreach (object ob in msgbin.Extensions)
955
+ {
956
+ SoapHeaderBinding hb = ob as SoapHeaderBinding;
957
+ if (hb == null) continue;
958
+
959
+ if (!writtenHeader) {
960
+ xtw.WriteStartElement ("soap", "Header", SoapEnvelopeNamespace);
961
+ writtenHeader = true;
962
+ }
963
+
964
+ WriteHeader (xtw, hb);
965
+ }
966
+
967
+ if (writtenHeader)
968
+ xtw.WriteEndElement ();
969
+
970
+ // Serialize body
971
+ xtw.WriteStartElement ("soap", "Body", SoapEnvelopeNamespace);
972
+
973
+ currentUse = bodyUse;
974
+ WriteBody (xtw, oper, msg, sbb, style);
975
+
976
+ xtw.WriteEndElement ();
977
+ xtw.WriteEndElement ();
978
+ xtw.Close ();
979
+ return sw.ToString ();
980
+ }
981
+
982
+ void WriteHeader (XmlTextWriter xtw, SoapHeaderBinding header)
983
+ {
984
+ Message msg = descriptions.GetMessage (header.Message);
985
+ if (msg == null) throw new InvalidOperationException ("Message " + header.Message + " not found");
986
+ MessagePart part = msg.Parts [header.Part];
987
+ if (part == null) throw new InvalidOperationException ("Message part " + header.Part + " not found in message " + header.Message);
988
+
989
+ currentUse = header.Use;
990
+
991
+ if (currentUse == SoapBindingUse.Literal)
992
+ WriteRootElementSample (xtw, part.Element);
993
+ else
994
+ WriteTypeSample (xtw, part.Type);
995
+ }
996
+
997
+ void WriteBody (XmlTextWriter xtw, Operation oper, OperationMessage opm, SoapBodyBinding sbb, SoapBindingStyle style)
998
+ {
999
+ Message msg = descriptions.GetMessage (opm.Message);
1000
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
1001
+ {
1002
+ MessagePart part = msg.Parts[0];
1003
+ if (part.Element == XmlQualifiedName.Empty)
1004
+ WriteTypeSample (xtw, part.Type);
1005
+ else
1006
+ WriteRootElementSample (xtw, part.Element);
1007
+ }
1008
+ else
1009
+ {
1010
+ string elemName = oper.Name;
1011
+ string ns = "";
1012
+ if (opm is OperationOutput) elemName += "Response";
1013
+
1014
+ if (style == SoapBindingStyle.Rpc) {
1015
+ xtw.WriteStartElement (elemName, sbb.Namespace);
1016
+ ns = sbb.Namespace;
1017
+ }
1018
+
1019
+ foreach (MessagePart part in msg.Parts)
1020
+ {
1021
+ if (part.Element == XmlQualifiedName.Empty)
1022
+ {
1023
+ XmlSchemaElement elem = new XmlSchemaElement ();
1024
+ elem.SchemaTypeName = part.Type;
1025
+ elem.Name = part.Name;
1026
+ WriteElementSample (xtw, ns, elem);
1027
+ }
1028
+ else
1029
+ WriteRootElementSample (xtw, part.Element);
1030
+ }
1031
+
1032
+ if (style == SoapBindingStyle.Rpc)
1033
+ xtw.WriteEndElement ();
1034
+ }
1035
+ WriteQueuedTypeSamples (xtw);
1036
+ }
1037
+
1038
+ void WriteRootElementSample (XmlTextWriter xtw, XmlQualifiedName qname)
1039
+ {
1040
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (qname, typeof(XmlSchemaElement));
1041
+ if (elem == null) throw new InvalidOperationException ("Element not found: " + qname);
1042
+ WriteElementSample (xtw, qname.Namespace, elem);
1043
+ }
1044
+
1045
+ void WriteElementSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1046
+ {
1047
+ bool sharedAnnType = false;
1048
+ XmlQualifiedName root;
1049
+
1050
+ if (!elem.RefName.IsEmpty) {
1051
+ XmlSchemaElement refElem = FindRefElement (elem);
1052
+ if (refElem == null) throw new InvalidOperationException ("Global element not found: " + elem.RefName);
1053
+ root = elem.RefName;
1054
+ elem = refElem;
1055
+ sharedAnnType = true;
1056
+ }
1057
+ else
1058
+ root = new XmlQualifiedName (elem.Name, ns);
1059
+
1060
+ if (!elem.SchemaTypeName.IsEmpty)
1061
+ {
1062
+ XmlSchemaComplexType st = FindComplexTyype (elem.SchemaTypeName);
1063
+ if (st != null)
1064
+ WriteComplexTypeSample (xtw, st, root);
1065
+ else
1066
+ {
1067
+ xtw.WriteStartElement (root.Name, root.Namespace);
1068
+ if (currentUse == SoapBindingUse.Encoded)
1069
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, elem.SchemaTypeName));
1070
+ xtw.WriteString (GetLiteral (FindBuiltInType (elem.SchemaTypeName)));
1071
+ xtw.WriteEndElement ();
1072
+ }
1073
+ }
1074
+ else if (elem.SchemaType == null)
1075
+ {
1076
+ xtw.WriteStartElement ("any");
1077
+ xtw.WriteEndElement ();
1078
+ }
1079
+ else
1080
+ WriteComplexTypeSample (xtw, (XmlSchemaComplexType) elem.SchemaType, root);
1081
+ }
1082
+
1083
+ void WriteTypeSample (XmlTextWriter xtw, XmlQualifiedName qname)
1084
+ {
1085
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1086
+ if (ctype != null) {
1087
+ WriteComplexTypeSample (xtw, ctype, qname);
1088
+ return;
1089
+ }
1090
+
1091
+ XmlSchemaSimpleType stype = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1092
+ if (stype != null) {
1093
+ WriteSimpleTypeSample (xtw, stype);
1094
+ return;
1095
+ }
1096
+
1097
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1098
+ throw new InvalidOperationException ("Type not found: " + qname);
1099
+ }
1100
+
1101
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName)
1102
+ {
1103
+ WriteComplexTypeSample (xtw, stype, rootName, -1);
1104
+ }
1105
+
1106
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName, int id)
1107
+ {
1108
+ string ns = rootName.Namespace;
1109
+
1110
+ if (rootName.Name.IndexOf ("[]") != -1) rootName = arrayType;
1111
+
1112
+ if (currentUse == SoapBindingUse.Encoded) {
1113
+ string pref = xtw.LookupPrefix (rootName.Namespace);
1114
+ if (pref == null) pref = "q1";
1115
+ xtw.WriteStartElement (pref, rootName.Name, rootName.Namespace);
1116
+ ns = "";
1117
+ }
1118
+ else
1119
+ xtw.WriteStartElement (rootName.Name, rootName.Namespace);
1120
+
1121
+ if (id != -1)
1122
+ {
1123
+ xtw.WriteAttributeString ("id", "id" + id);
1124
+ if (rootName != arrayType)
1125
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, rootName));
1126
+ }
1127
+
1128
+ WriteComplexTypeAttributes (xtw, stype);
1129
+ WriteComplexTypeElements (xtw, ns, stype);
1130
+
1131
+ xtw.WriteEndElement ();
1132
+ }
1133
+
1134
+ void WriteComplexTypeAttributes (XmlTextWriter xtw, XmlSchemaComplexType stype)
1135
+ {
1136
+ WriteAttributes (xtw, stype.Attributes, stype.AnyAttribute);
1137
+ }
1138
+
1139
+ Dictionary<XmlSchemaComplexType,int> recursed_types = new Dictionary<XmlSchemaComplexType,int> ();
1140
+ void WriteComplexTypeElements (XmlTextWriter xtw, string ns, XmlSchemaComplexType stype)
1141
+ {
1142
+ int prev = 0;
1143
+ if (recursed_types.ContainsKey (stype))
1144
+ prev = recursed_types [stype];
1145
+
1146
+ if (prev > 1)
1147
+ return;
1148
+ recursed_types [stype] = ++prev;
1149
+
1150
+ if (stype.Particle != null)
1151
+ WriteParticleComplexContent (xtw, ns, stype.Particle);
1152
+ else
1153
+ {
1154
+ if (stype.ContentModel is XmlSchemaSimpleContent)
1155
+ WriteSimpleContent (xtw, (XmlSchemaSimpleContent)stype.ContentModel);
1156
+ else if (stype.ContentModel is XmlSchemaComplexContent)
1157
+ WriteComplexContent (xtw, ns, (XmlSchemaComplexContent)stype.ContentModel);
1158
+ }
1159
+ prev = recursed_types [stype];
1160
+ recursed_types [stype] = --prev;
1161
+ }
1162
+
1163
+ void WriteAttributes (XmlTextWriter xtw, XmlSchemaObjectCollection atts, XmlSchemaAnyAttribute anyat)
1164
+ {
1165
+ foreach (XmlSchemaObject at in atts)
1166
+ {
1167
+ if (at is XmlSchemaAttribute)
1168
+ {
1169
+ string ns;
1170
+ XmlSchemaAttribute attr = (XmlSchemaAttribute)at;
1171
+ XmlSchemaAttribute refAttr = attr;
1172
+
1173
+ // refAttr.Form; TODO
1174
+
1175
+ if (!attr.RefName.IsEmpty) {
1176
+ refAttr = FindRefAttribute (attr.RefName);
1177
+ if (refAttr == null) throw new InvalidOperationException ("Global attribute not found: " + attr.RefName);
1178
+ }
1179
+
1180
+ string val;
1181
+ if (!refAttr.SchemaTypeName.IsEmpty) val = FindBuiltInType (refAttr.SchemaTypeName);
1182
+ else val = FindBuiltInType ((XmlSchemaSimpleType) refAttr.SchemaType);
1183
+
1184
+ xtw.WriteAttributeString (refAttr.Name, val);
1185
+ }
1186
+ else if (at is XmlSchemaAttributeGroupRef)
1187
+ {
1188
+ XmlSchemaAttributeGroupRef gref = (XmlSchemaAttributeGroupRef)at;
1189
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1190
+ WriteAttributes (xtw, grp.Attributes, grp.AnyAttribute);
1191
+ }
1192
+ }
1193
+
1194
+ if (anyat != null)
1195
+ xtw.WriteAttributeString ("custom-attribute","value");
1196
+ }
1197
+
1198
+ void WriteParticleComplexContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle)
1199
+ {
1200
+ WriteParticleContent (xtw, ns, particle, false);
1201
+ }
1202
+
1203
+ void WriteParticleContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle, bool multiValue)
1204
+ {
1205
+ if (particle is XmlSchemaGroupRef)
1206
+ particle = GetRefGroupParticle ((XmlSchemaGroupRef)particle);
1207
+
1208
+ if (particle.MaxOccurs > 1) multiValue = true;
1209
+
1210
+ if (particle is XmlSchemaSequence) {
1211
+ WriteSequenceContent (xtw, ns, ((XmlSchemaSequence)particle).Items, multiValue);
1212
+ }
1213
+ else if (particle is XmlSchemaChoice) {
1214
+ if (((XmlSchemaChoice)particle).Items.Count == 1)
1215
+ WriteSequenceContent (xtw, ns, ((XmlSchemaChoice)particle).Items, multiValue);
1216
+ else
1217
+ WriteChoiceContent (xtw, ns, (XmlSchemaChoice)particle, multiValue);
1218
+ }
1219
+ else if (particle is XmlSchemaAll) {
1220
+ WriteSequenceContent (xtw, ns, ((XmlSchemaAll)particle).Items, multiValue);
1221
+ }
1222
+ }
1223
+
1224
+ void WriteSequenceContent (XmlTextWriter xtw, string ns, XmlSchemaObjectCollection items, bool multiValue)
1225
+ {
1226
+ foreach (XmlSchemaObject item in items)
1227
+ WriteContentItem (xtw, ns, item, multiValue);
1228
+ }
1229
+
1230
+ void WriteContentItem (XmlTextWriter xtw, string ns, XmlSchemaObject item, bool multiValue)
1231
+ {
1232
+ if (item is XmlSchemaGroupRef)
1233
+ item = GetRefGroupParticle ((XmlSchemaGroupRef)item);
1234
+
1235
+ if (item is XmlSchemaElement)
1236
+ {
1237
+ XmlSchemaElement elem = (XmlSchemaElement) item;
1238
+ XmlSchemaElement refElem;
1239
+ if (!elem.RefName.IsEmpty) refElem = FindRefElement (elem);
1240
+ else refElem = elem;
1241
+
1242
+ int num = (elem.MaxOccurs == 1 && !multiValue) ? 1 : 2;
1243
+ for (int n=0; n<num; n++)
1244
+ {
1245
+ if (currentUse == SoapBindingUse.Literal)
1246
+ WriteElementSample (xtw, ns, refElem);
1247
+ else
1248
+ WriteRefTypeSample (xtw, ns, refElem);
1249
+ }
1250
+ }
1251
+ else if (item is XmlSchemaAny)
1252
+ {
1253
+ xtw.WriteString (GetLiteral ("xml"));
1254
+ }
1255
+ else if (item is XmlSchemaParticle) {
1256
+ WriteParticleContent (xtw, ns, (XmlSchemaParticle)item, multiValue);
1257
+ }
1258
+ }
1259
+
1260
+ void WriteChoiceContent (XmlTextWriter xtw, string ns, XmlSchemaChoice choice, bool multiValue)
1261
+ {
1262
+ foreach (XmlSchemaObject item in choice.Items)
1263
+ WriteContentItem (xtw, ns, item, multiValue);
1264
+ }
1265
+
1266
+ void WriteSimpleContent (XmlTextWriter xtw, XmlSchemaSimpleContent content)
1267
+ {
1268
+ XmlSchemaSimpleContentExtension ext = content.Content as XmlSchemaSimpleContentExtension;
1269
+ if (ext != null)
1270
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1271
+
1272
+ XmlQualifiedName qname = GetContentBaseType (content.Content);
1273
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1274
+ }
1275
+
1276
+ string FindBuiltInType (XmlQualifiedName qname)
1277
+ {
1278
+ if (qname.Namespace == XmlSchema.Namespace)
1279
+ return qname.Name;
1280
+
1281
+ XmlSchemaComplexType ct = FindComplexTyype (qname);
1282
+ if (ct != null)
1283
+ {
1284
+ XmlSchemaSimpleContent sc = ct.ContentModel as XmlSchemaSimpleContent;
1285
+ if (sc == null) throw new InvalidOperationException ("Invalid schema");
1286
+ return FindBuiltInType (GetContentBaseType (sc.Content));
1287
+ }
1288
+
1289
+ XmlSchemaSimpleType st = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1290
+ if (st != null)
1291
+ return FindBuiltInType (st);
1292
+
1293
+ throw new InvalidOperationException ("Definition of type " + qname + " not found");
1294
+ }
1295
+
1296
+ string FindBuiltInType (XmlSchemaSimpleType st)
1297
+ {
1298
+ if (st.Content is XmlSchemaSimpleTypeRestriction) {
1299
+ return FindBuiltInType (GetContentBaseType (st.Content));
1300
+ }
1301
+ else if (st.Content is XmlSchemaSimpleTypeList) {
1302
+ string s = FindBuiltInType (GetContentBaseType (st.Content));
1303
+ return s + " " + s + " ...";
1304
+ }
1305
+ else if (st.Content is XmlSchemaSimpleTypeUnion)
1306
+ {
1307
+ //Check if all types of the union are equal. If not, then will use anyType.
1308
+ XmlSchemaSimpleTypeUnion uni = (XmlSchemaSimpleTypeUnion) st.Content;
1309
+ string utype = null;
1310
+
1311
+ // Anonymous types are unique
1312
+ if (uni.BaseTypes.Count != 0 && uni.MemberTypes.Length != 0)
1313
+ return "string";
1314
+
1315
+ foreach (XmlQualifiedName mt in uni.MemberTypes)
1316
+ {
1317
+ string qn = FindBuiltInType (mt);
1318
+ if (utype != null && qn != utype) return "string";
1319
+ else utype = qn;
1320
+ }
1321
+ return utype;
1322
+ }
1323
+ else
1324
+ return "string";
1325
+ }
1326
+
1327
+
1328
+ XmlQualifiedName GetContentBaseType (XmlSchemaObject ob)
1329
+ {
1330
+ if (ob is XmlSchemaSimpleContentExtension)
1331
+ return ((XmlSchemaSimpleContentExtension)ob).BaseTypeName;
1332
+ else if (ob is XmlSchemaSimpleContentRestriction)
1333
+ return ((XmlSchemaSimpleContentRestriction)ob).BaseTypeName;
1334
+ else if (ob is XmlSchemaSimpleTypeRestriction)
1335
+ return ((XmlSchemaSimpleTypeRestriction)ob).BaseTypeName;
1336
+ else if (ob is XmlSchemaSimpleTypeList)
1337
+ return ((XmlSchemaSimpleTypeList)ob).ItemTypeName;
1338
+ else
1339
+ return null;
1340
+ }
1341
+
1342
+ void WriteComplexContent (XmlTextWriter xtw, string ns, XmlSchemaComplexContent content)
1343
+ {
1344
+ XmlQualifiedName qname;
1345
+
1346
+ XmlSchemaComplexContentExtension ext = content.Content as XmlSchemaComplexContentExtension;
1347
+ if (ext != null) qname = ext.BaseTypeName;
1348
+ else {
1349
+ XmlSchemaComplexContentRestriction rest = (XmlSchemaComplexContentRestriction)content.Content;
1350
+ qname = rest.BaseTypeName;
1351
+ if (qname == arrayType) {
1352
+ ParseArrayType (rest, out qname);
1353
+ XmlSchemaElement elem = new XmlSchemaElement ();
1354
+ elem.Name = "Item";
1355
+ elem.SchemaTypeName = qname;
1356
+
1357
+ xtw.WriteAttributeString ("arrayType", SoapEncodingNamespace, qname.Name + "[2]");
1358
+ WriteContentItem (xtw, ns, elem, true);
1359
+ return;
1360
+ }
1361
+ }
1362
+
1363
+ // Add base map members to this map
1364
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1365
+ WriteComplexTypeAttributes (xtw, ctype);
1366
+
1367
+ if (ext != null) {
1368
+ // Add the members of this map
1369
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1370
+ if (ext.Particle != null)
1371
+ WriteParticleComplexContent (xtw, ns, ext.Particle);
1372
+ }
1373
+
1374
+ WriteComplexTypeElements (xtw, ns, ctype);
1375
+ }
1376
+
1377
+ void ParseArrayType (XmlSchemaComplexContentRestriction rest, out XmlQualifiedName qtype)
1378
+ {
1379
+ XmlSchemaAttribute arrayTypeAt = FindArrayAttribute (rest.Attributes);
1380
+ XmlAttribute[] uatts = arrayTypeAt.UnhandledAttributes;
1381
+ if (uatts == null || uatts.Length == 0) throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1382
+
1383
+ XmlAttribute xat = null;
1384
+ foreach (XmlAttribute at in uatts)
1385
+ if (at.LocalName == "arrayType" && at.NamespaceURI == WsdlNamespace)
1386
+ { xat = at; break; }
1387
+
1388
+ if (xat == null)
1389
+ throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1390
+
1391
+ string arrayType = xat.Value;
1392
+ string type, ns;
1393
+ int i = arrayType.LastIndexOf (":");
1394
+ if (i == -1) ns = "";
1395
+ else ns = arrayType.Substring (0,i);
1396
+
1397
+ int j = arrayType.IndexOf ("[", i+1);
1398
+ if (j == -1) throw new InvalidOperationException ("Cannot parse WSDL array type: " + arrayType);
1399
+ type = arrayType.Substring (i+1);
1400
+ type = type.Substring (0, type.Length-2);
1401
+
1402
+ qtype = new XmlQualifiedName (type, ns);
1403
+ }
1404
+
1405
+ XmlSchemaAttribute FindArrayAttribute (XmlSchemaObjectCollection atts)
1406
+ {
1407
+ foreach (object ob in atts)
1408
+ {
1409
+ XmlSchemaAttribute att = ob as XmlSchemaAttribute;
1410
+ if (att != null && att.RefName == arrayTypeRefName) return att;
1411
+
1412
+ XmlSchemaAttributeGroupRef gref = ob as XmlSchemaAttributeGroupRef;
1413
+ if (gref != null)
1414
+ {
1415
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1416
+ att = FindArrayAttribute (grp.Attributes);
1417
+ if (att != null) return att;
1418
+ }
1419
+ }
1420
+ return null;
1421
+ }
1422
+
1423
+ void WriteSimpleTypeSample (XmlTextWriter xtw, XmlSchemaSimpleType stype)
1424
+ {
1425
+ xtw.WriteString (GetLiteral (FindBuiltInType (stype)));
1426
+ }
1427
+
1428
+ XmlSchemaParticle GetRefGroupParticle (XmlSchemaGroupRef refGroup)
1429
+ {
1430
+ XmlSchemaGroup grp = (XmlSchemaGroup) schemas.Find (refGroup.RefName, typeof (XmlSchemaGroup));
1431
+ return grp.Particle;
1432
+ }
1433
+
1434
+ XmlSchemaElement FindRefElement (XmlSchemaElement elem)
1435
+ {
1436
+ if (elem.RefName.Namespace == XmlSchema.Namespace)
1437
+ {
1438
+ if (anyElement != null) return anyElement;
1439
+ anyElement = new XmlSchemaElement ();
1440
+ anyElement.Name = "any";
1441
+ anyElement.SchemaTypeName = anyType;
1442
+ return anyElement;
1443
+ }
1444
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
1445
+ }
1446
+
1447
+ XmlSchemaAttribute FindRefAttribute (XmlQualifiedName refName)
1448
+ {
1449
+ if (refName.Namespace == XmlSchema.Namespace)
1450
+ {
1451
+ XmlSchemaAttribute at = new XmlSchemaAttribute ();
1452
+ at.Name = refName.Name;
1453
+ at.SchemaTypeName = new XmlQualifiedName ("string",XmlSchema.Namespace);
1454
+ return at;
1455
+ }
1456
+ return (XmlSchemaAttribute) schemas.Find (refName, typeof(XmlSchemaAttribute));
1457
+ }
1458
+
1459
+ void WriteRefTypeSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1460
+ {
1461
+ if (elem.SchemaTypeName.Namespace == XmlSchema.Namespace || schemas.Find (elem.SchemaTypeName, typeof(XmlSchemaSimpleType)) != null)
1462
+ WriteElementSample (xtw, ns, elem);
1463
+ else
1464
+ {
1465
+ xtw.WriteStartElement (elem.Name, ns);
1466
+ xtw.WriteAttributeString ("href", "#id" + (queue.Count+1));
1467
+ xtw.WriteEndElement ();
1468
+ queue.Add (new EncodedType (ns, elem));
1469
+ }
1470
+ }
1471
+
1472
+ void WriteQueuedTypeSamples (XmlTextWriter xtw)
1473
+ {
1474
+ for (int n=0; n<queue.Count; n++)
1475
+ {
1476
+ EncodedType ec = (EncodedType) queue[n];
1477
+ XmlSchemaComplexType st = FindComplexTyype (ec.Element.SchemaTypeName);
1478
+ WriteComplexTypeSample (xtw, st, ec.Element.SchemaTypeName, n+1);
1479
+ }
1480
+ }
1481
+
1482
+ XmlSchemaComplexType FindComplexTyype (XmlQualifiedName qname)
1483
+ {
1484
+ if (qname.Name.IndexOf ("[]") != -1)
1485
+ {
1486
+ XmlSchemaComplexType stype = new XmlSchemaComplexType ();
1487
+ stype.ContentModel = new XmlSchemaComplexContent ();
1488
+
1489
+ XmlSchemaComplexContentRestriction res = new XmlSchemaComplexContentRestriction ();
1490
+ stype.ContentModel.Content = res;
1491
+ res.BaseTypeName = arrayType;
1492
+
1493
+ XmlSchemaAttribute att = new XmlSchemaAttribute ();
1494
+ att.RefName = arrayTypeRefName;
1495
+ res.Attributes.Add (att);
1496
+
1497
+ XmlAttribute xat = document.CreateAttribute ("arrayType", WsdlNamespace);
1498
+ xat.Value = qname.Namespace + ":" + qname.Name;
1499
+ att.UnhandledAttributes = new XmlAttribute[] {xat};
1500
+ return stype;
1501
+ }
1502
+
1503
+ return (XmlSchemaComplexType) schemas.Find (qname, typeof(XmlSchemaComplexType));
1504
+ }
1505
+
1506
+ string GetQualifiedNameString (XmlTextWriter xtw, XmlQualifiedName qname)
1507
+ {
1508
+ string pref = xtw.LookupPrefix (qname.Namespace);
1509
+ if (pref != null) return pref + ":" + qname.Name;
1510
+
1511
+ xtw.WriteAttributeString ("xmlns", "q1", null, qname.Namespace);
1512
+ return "q1:" + qname.Name;
1513
+ }
1514
+
1515
+ protected virtual string GetLiteral (string s)
1516
+ {
1517
+ return s;
1518
+ }
1519
+
1520
+ void GetOperationFormat (OperationBinding obin, out SoapBindingStyle style, out SoapBindingUse use)
1521
+ {
1522
+ style = SoapBindingStyle.Document;
1523
+ use = SoapBindingUse.Literal;
1524
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
1525
+ if (sob != null) {
1526
+ style = sob.Style;
1527
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
1528
+ if (sbb != null)
1529
+ use = sbb.Use;
1530
+ }
1531
+ }
1532
+ }
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+ </script>
1539
+
1540
+ <head runat="server">
1541
+ <%
1542
+ Response.Write ("<link rel=\"alternate\" type=\"text/xml\" href=\"" + Request.FilePath + "?disco\"/>");
1543
+ %>
1544
+ <title><%=WebServiceName%> Web Service</title>
1545
+ <style type="text/css">
1546
+ BODY { font-family: Arial; margin-left: 20px; margin-top: 20px; font-size: x-small}
1547
+ TABLE { font-size: x-small }
1548
+ .title { color:dimgray; font-family: Arial; font-size:20pt; font-weight:900}
1549
+ .operationTitle { color:dimgray; font-family: Arial; font-size:15pt; font-weight:900}
1550
+ .method { font-size: x-small }
1551
+ .bindingLabel { font-size: x-small; font-weight:bold; color:darkgray; line-height:8pt; display:block; margin-bottom:3px }
1552
+ .label { font-size: small; font-weight:bold; color:darkgray }
1553
+ .paramTable { font-size: x-small }
1554
+ .paramTable TR { background-color: gainsboro }
1555
+ .paramFormTable { font-size: x-small; padding: 10px; background-color: gainsboro }
1556
+ .paramFormTable TR { background-color: gainsboro }
1557
+ .paramInput { border: solid 1px gray }
1558
+ .button {border: solid 1px gray }
1559
+ .smallSeparator { height:3px; overflow:hidden }
1560
+ .panel { background-color:whitesmoke; border: solid 1px silver; border-top: solid 1px silver }
1561
+ .codePanel { background-color: white; font-size:x-small; padding:7px; border:solid 1px silver}
1562
+ .code-xml { font-size:10pt; font-family:courier }
1563
+ .code-cs { font-size:10pt; font-family:courier }
1564
+ .code-vb { font-size:10pt; font-family:courier }
1565
+ .tabLabelOn { font-weight:bold }
1566
+ .tabLabelOff {color: darkgray }
1567
+ .literal-placeholder {color: darkblue; font-weight:bold}
1568
+ A:link { color: black; }
1569
+ A:visited { color: black; }
1570
+ A:active { color: black; }
1571
+ A:hover { color: blue }
1572
+ </style>
1573
+
1574
+ <script language="javascript" type="text/javascript">
1575
+ var req;
1576
+ function getXML (command, url, qs) {
1577
+ if (url == "" || url.substring (0, 4) != "http")
1578
+ return;
1579
+
1580
+ var post_data = null;
1581
+ req = getReq ();
1582
+ req.onreadystatechange = stateChange;
1583
+ if (command == "GET") {
1584
+ url = url + "?" + qs;
1585
+ } else {
1586
+ post_data = qs;
1587
+ }
1588
+ req.open (command, url, true);
1589
+ if (command == "POST")
1590
+ req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
1591
+ req.send (post_data);
1592
+ }
1593
+
1594
+ function stateChange () {
1595
+ if (req.readyState == 4) {
1596
+ var node = document.getElementById("testresult_div");
1597
+ var text = "";
1598
+ if (req.status == 200) {
1599
+ node.innerHTML = "<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
1600
+ } else {
1601
+ var ht = "<b style='color: red'>" + formatXml (req.status + " - " + req.statusText) + "</b>";
1602
+ if (req.responseText != "")
1603
+ ht = ht + "\n<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
1604
+ node.innerHTML = ht;
1605
+
1606
+ }
1607
+ }
1608
+ }
1609
+
1610
+ function formatXml (text)
1611
+ {
1612
+ var re = / /g;
1613
+ text = text.replace (re, "&nbsp;");
1614
+
1615
+ re = /\t/g;
1616
+ text = text.replace (re, "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
1617
+
1618
+ re = /\<\s*(\/?)\s*(.*?)\s*(\/?)\s*\>/g;
1619
+ text = text.replace (re,"{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
1620
+
1621
+ re = /{(\w*):(.*?)}/g;
1622
+ text = text.replace (re,"<span style='color:$1'>$2</span>");
1623
+
1624
+ re = /"(.*?)"/g;
1625
+ text = text.replace (re,"\"<span style='color:purple'>$1</span>\"");
1626
+
1627
+ re = /\r\n|\r|\n/g;
1628
+ text = text.replace (re, "<br/>");
1629
+
1630
+ return text;
1631
+ }
1632
+
1633
+ function getReq () {
1634
+ if (window.XMLHttpRequest) {
1635
+ return new XMLHttpRequest(); // Firefox, Safari, ...
1636
+ } else if (window.ActiveXObject) {
1637
+ return new ActiveXObject("Microsoft.XMLHTTP");
1638
+ }
1639
+ }
1640
+
1641
+ function clearForm ()
1642
+ {
1643
+ document.getElementById("testFormResult").style.display="none";
1644
+ }
1645
+ </script>
1646
+
1647
+ </head>
1648
+
1649
+ <body>
1650
+ <div class="title" style="margin-left:20px">
1651
+ <span class="label">Web Service</span><br>
1652
+ <%=WebServiceName%>
1653
+ </div>
1654
+
1655
+ <!--
1656
+ **********************************************************
1657
+ Left panel
1658
+ -->
1659
+
1660
+ <table border="0" width="100%" cellpadding="15px" cellspacing="15px">
1661
+ <tr valign="top"><td width="150px" class="panel">
1662
+ <div style="width:150px"></div>
1663
+ <a class="method" href='<%=PageName%>'>Overview</a><br>
1664
+ <div class="smallSeparator"></div>
1665
+ <a class="method" href='<%=PageName + "?" + GetPageContext("wsdl")%>'>Service Description</a>
1666
+ <div class="smallSeparator"></div>
1667
+ <a class="method" href='<%=PageName + "?" + GetPageContext("proxy")%>'>Client proxy</a>
1668
+ <br><br>
1669
+ <asp:repeater id="BindingsRepeater" runat=server>
1670
+ <itemtemplate name="itemtemplate">
1671
+ <span class="bindingLabel"><%#FormatBindingName(DataBinder.Eval(Container.DataItem, "Name").ToString())%></span>
1672
+ <asp:repeater id="OperationsRepeater" runat=server datasource='<%# ((Binding)Container.DataItem).Operations %>'>
1673
+ <itemtemplate>
1674
+ <a class="method" href="<%=PageName%>?<%=GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
1675
+ <div class="smallSeparator"></div>
1676
+ </itemtemplate>
1677
+ </asp:repeater>
1678
+ <br>
1679
+ </itemtemplate>
1680
+ </asp:repeater>
1681
+
1682
+ </td><td class="panel">
1683
+
1684
+ <% if (CurrentPage == "main") {%>
1685
+
1686
+ <!--
1687
+ **********************************************************
1688
+ Web service overview
1689
+ -->
1690
+
1691
+ <p class="label">Web Service Overview</p>
1692
+ <%=WebServiceDescription%>
1693
+ <br/><br/>
1694
+ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %>
1695
+ <p class="label">Basic Profile Conformance</p>
1696
+ This web service does not conform to WS-I Basic Profile v1.1
1697
+ <%
1698
+ Response.Write ("<ul>");
1699
+ foreach (BasicProfileViolation vio in ProfileViolations) {
1700
+ Response.Write ("<li><b>" + vio.NormativeStatement + "</b>: " + vio.Details);
1701
+ Response.Write ("<ul>");
1702
+ foreach (string ele in vio.Elements)
1703
+ Response.Write ("<li>" + ele + "</li>");
1704
+ Response.Write ("</ul>");
1705
+ Response.Write ("</li>");
1706
+ }
1707
+ Response.Write ("</ul>");
1708
+ }%>
1709
+
1710
+ <%} if (DefaultBinding == null) {%>
1711
+ This service does not contain any public web method.
1712
+ <%} else if (CurrentPage == "op") {%>
1713
+
1714
+ <!--
1715
+ **********************************************************
1716
+ Operation description
1717
+ -->
1718
+
1719
+ <span class="operationTitle"><%=CurrentOperationName%></span>
1720
+ <br><br>
1721
+ <% WriteTabs (); %>
1722
+ <br><br><br>
1723
+
1724
+ <% if (CurrentTab == "main") { %>
1725
+ <span class="label">Input Parameters</span>
1726
+ <div class="smallSeparator"></div>
1727
+ <% if (InParams.Count == 0) { %>
1728
+ No input parameters<br>
1729
+ <% } else { %>
1730
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1731
+ <asp:repeater id="InputParamsRepeater" runat=server>
1732
+ <itemtemplate>
1733
+ <tr>
1734
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1735
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1736
+ </tr>
1737
+ </itemtemplate>
1738
+ </asp:repeater>
1739
+ </table>
1740
+ <% } %>
1741
+ <br>
1742
+
1743
+ <% if (OutParams.Count > 0) { %>
1744
+ <span class="label">Output Parameters</span>
1745
+ <div class="smallSeparator"></div>
1746
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1747
+ <asp:repeater id="OutputParamsRepeater" runat=server>
1748
+ <itemtemplate>
1749
+ <tr>
1750
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1751
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1752
+ </tr>
1753
+ </itemtemplate>
1754
+ </asp:repeater>
1755
+ </table>
1756
+ <br>
1757
+ <% } %>
1758
+
1759
+ <span class="label">Remarks</span>
1760
+ <div class="smallSeparator"></div>
1761
+ <%=OperationDocumentation%>
1762
+ <br><br>
1763
+ <span class="label">Technical information</span>
1764
+ <div class="smallSeparator"></div>
1765
+ Format: <%=CurrentOperationFormat%>
1766
+ <br>Supported protocols: <%=CurrentOperationProtocols%>
1767
+ <% } %>
1768
+
1769
+ <!--
1770
+ **********************************************************
1771
+ Operation description - Test form
1772
+ -->
1773
+
1774
+ <% if (CurrentTab == "test") {
1775
+ if (CurrentOperationSupportsTest) {%>
1776
+ Enter values for the parameters and click the 'Invoke' button to test this method:<br><br>
1777
+ <form action="<%=PageName%>" method="GET">
1778
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
1779
+ <input type="hidden" name="tab" value="<%=CurrentTab%>">
1780
+ <input type="hidden" name="op" value="<%=CurrentOperationName%>">
1781
+ <input type="hidden" name="bnd" value="<%=CurrentOperationBinding%>">
1782
+ <input type="hidden" name="ext" value="testform">
1783
+ <table class="paramFormTable" cellspacing="0" cellpadding="3">
1784
+ <asp:repeater id="InputFormParamsRepeater" runat=server>
1785
+ <itemtemplate>
1786
+ <tr>
1787
+ <td><%#DataBinder.Eval(Container.DataItem, "Name")%>:&nbsp;</td>
1788
+ <td width="150"><input class="paramInput" type="text" size="20" name="<%#DataBinder.Eval(Container.DataItem, "Name")%>"></td>
1789
+ </tr>
1790
+ </itemtemplate>
1791
+ </asp:repeater>
1792
+ <tr><td></td><td><input class="button" type="submit" value="Invoke">&nbsp;<input class="button" type="button" onclick="clearForm()" value="Clear"></td></tr>
1793
+ </table>
1794
+ </form>
1795
+ <div id="testFormResult" style="display:<%= (HasFormResult?"block":"none") %>">
1796
+ The web service returned the following result:<br/><br/>
1797
+ <div class="codePanel" id="testresult_div">
1798
+ </div>
1799
+ <script language="javascript">
1800
+ getXML ("<%= GetOrPost () %>", "<%= GetTestResultUrl () %>", "<%= GetQS () %>");
1801
+ </script>
1802
+ </div>
1803
+ <% } else {%>
1804
+ The test form is not available for this operation because it has parameters with a complex structure.
1805
+ <% } %>
1806
+ <% } %>
1807
+
1808
+ <!--
1809
+ **********************************************************
1810
+ Operation description - Message Layout
1811
+ -->
1812
+
1813
+ <% if (CurrentTab == "msg") { %>
1814
+
1815
+ The following are sample SOAP requests and responses for each protocol supported by this method:
1816
+ <br/><br/>
1817
+
1818
+ <% if (IsOperationSupported ("Soap")) { %>
1819
+ <span class="label">Soap</span>
1820
+ <br/><br/>
1821
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", true)%></div></div>
1822
+ <br/>
1823
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", false)%></div></div>
1824
+ <br/>
1825
+ <% } %>
1826
+ <% if (IsOperationSupported ("HttpGet")) { %>
1827
+ <span class="label">HTTP Get</span>
1828
+ <br/><br/>
1829
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", true)%></div></div>
1830
+ <br/>
1831
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", false)%></div></div>
1832
+ <br/>
1833
+ <% } %>
1834
+ <% if (IsOperationSupported ("HttpPost")) { %>
1835
+ <span class="label">HTTP Post</span>
1836
+ <br/><br/>
1837
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", true)%></div></div>
1838
+ <br/>
1839
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", false)%></div></div>
1840
+ <br/>
1841
+ <% } %>
1842
+
1843
+ <% } %>
1844
+ <%} else if (CurrentPage == "proxy") {%>
1845
+ <!--
1846
+ **********************************************************
1847
+ Client Proxy
1848
+ -->
1849
+ <form action="<%=PageName%>" name="langForm" method="GET">
1850
+ Select the language for which you want to generate a proxy
1851
+ <input type="hidden" name="page" value="<%=CurrentPage%>">&nbsp;
1852
+ <SELECT name="lang" onchange="langForm.submit()">
1853
+ <%=GetOptionSel("cs",CurrentLanguage)%>C#</option>
1854
+ <%=GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
1855
+ </SELECT>
1856
+ &nbsp;&nbsp;
1857
+ </form>
1858
+ <br>
1859
+ <span class="label"><%=CurrentProxytName%></span>&nbsp;&nbsp;&nbsp;
1860
+ <a href="<%=PageName + "?code=" + CurrentLanguage%>">Download</a>
1861
+ <br><br>
1862
+ <div class="codePanel">
1863
+ <div class="code-<%=CurrentLanguage%>"><%=GetProxyCode ()%></div>
1864
+ </div>
1865
+ <%} else if (CurrentPage == "wsdl") {%>
1866
+ <!--
1867
+ **********************************************************
1868
+ Service description
1869
+ -->
1870
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
1871
+ The description of this web service is composed by several documents. Click on the document you want to see:
1872
+
1873
+ <ul>
1874
+ <%
1875
+ for (int n=0; n<descriptions.Count; n++)
1876
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=wsdl&docind=" + n + "'>WSDL document " + descriptions[n].TargetNamespace + "</a></li>");
1877
+ for (int n=0; n<schemas.Count; n++)
1878
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=schema&docind=" + n + "'>Xml Schema " + schemas[n].TargetNamespace + "</a></li>");
1879
+ %>
1880
+ </ul>
1881
+
1882
+ <%} else {%>
1883
+ <%}%>
1884
+ <br>
1885
+ <span class="label"><%=CurrentDocumentName%></span>&nbsp;&nbsp;&nbsp;
1886
+ <a href="<%=PageName + "?" + CurrentDocType + "=" + CurrentDocInd %>">Download</a>
1887
+ <br><br>
1888
+ <div class="codePanel">
1889
+ <div class="code-xml"><%=GenerateDocument ()%></div>
1890
+ </div>
1891
+
1892
+ <%}%>
1893
+
1894
+ <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
1895
+ </td>
1896
+ <td width="20px"></td>
1897
+ </tr>
1898
+
1899
+ </table>
1900
+ </body>
1901
+ </html>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/machine.config ADDED
@@ -0,0 +1,280 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <configuration>
4
+
5
+ <configSections>
6
+ <section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
7
+ <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
8
+ <section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
9
+ <section name="mscorlib" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
10
+ <section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
11
+ <section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
12
+ <section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
13
+ <section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
14
+ <section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
15
+ <section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
16
+ <section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
17
+ <section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
18
+ <section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
19
+ <section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
20
+ <section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
21
+ <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
22
+ <section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
23
+ <section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
24
+ <section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
25
+ <section name="browserCaps" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
26
+ <section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
27
+ <section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
28
+ <section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
29
+ <section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" />
30
+ <section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
31
+ <section name="healthMonitoring" type="System.Web.Configuration.HealthMonitoringSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
32
+ <section name="hostingEnvironment" type="System.Web.Configuration.HostingEnvironmentSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
33
+ <section name="httpCookies" type="System.Web.Configuration.HttpCookiesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
34
+ <section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
35
+ <section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
36
+ <section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
37
+ <section name="identity" type="System.Web.Configuration.IdentitySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
38
+ <section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
39
+ <section name="membership" type="System.Web.Configuration.MembershipSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
40
+ <section name="mobileControls" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
41
+ <section name="deviceFilters" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
42
+ <section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
43
+ <section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
44
+ <section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
45
+ <section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
46
+ <section name="securityPolicy" type="System.Web.Configuration.SecurityPolicySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
47
+ <section name="sessionPageState" type="System.Web.Configuration.SessionPageStateSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
48
+ <section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
49
+ <section name="siteMap" type="System.Web.Configuration.SiteMapSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
50
+ <section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
51
+ <section name="trust" type="System.Web.Configuration.TrustSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
52
+ <section name="urlMappings" type="System.Web.Configuration.UrlMappingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
53
+ <section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
54
+ <section name="webParts" type="System.Web.Configuration.WebPartsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
55
+ <section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
56
+ <section name="xhtmlConformance" type="System.Web.Configuration.XhtmlConformanceSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
57
+ <sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
58
+ <section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
59
+ <section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
60
+ <section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
61
+ <section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
62
+ </sectionGroup>
63
+ <section name="monoSettings" type="System.Web.Configuration.MonoSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
64
+ </sectionGroup>
65
+ <sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
66
+ <section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
67
+ <section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
68
+ <section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
69
+ <sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
70
+ <section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
71
+ </sectionGroup>
72
+ <section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
73
+ <section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
74
+ <section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
75
+ </sectionGroup>
76
+ <section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
77
+ <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
78
+ <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
79
+ <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
80
+ <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
81
+ <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
82
+ <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
83
+ <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
84
+ <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
85
+ <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
86
+ </sectionGroup>
87
+ <sectionGroup name="system.transactions" type="System.Transactions.Configuration.TransactionsSectionGroup, System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null">
88
+ <section name="defaultSettings" type="System.Transactions.Configuration.DefaultSettingsSection, System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/>
89
+ <section name="machineSettings" type="System.Transactions.Configuration.MachineSettingsSection, System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
90
+ </sectionGroup>
91
+ <section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
92
+ <section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
93
+ </configSections>
94
+
95
+ <connectionStrings>
96
+ <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
97
+ <add name="LocalSqliteServer" connectionString="Data Source=|DataDirectory|/aspnetdb.sqlite;version=3" providerName="Mono.Data.Sqlite"/>
98
+ </connectionStrings>
99
+
100
+ <configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
101
+ <providers>
102
+ <add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
103
+ description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
104
+ <add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
105
+ description="" useMachineProtection="true" keyEntropy="" />
106
+ </providers>
107
+ </configProtectedData>
108
+
109
+ <system.net>
110
+ <authenticationModules>
111
+ <add type="System.Net.BasicClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
112
+ <add type="System.Net.DigestClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
113
+ <add type="System.Net.NtlmClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
114
+ </authenticationModules>
115
+ <webRequestModules>
116
+ <add prefix="http" type="System.Net.HttpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
117
+ <add prefix="https" type="System.Net.HttpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
118
+ <add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
119
+ <add prefix="ftp" type="System.Net.FtpWebRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
120
+ </webRequestModules>
121
+ </system.net>
122
+
123
+ <system.runtime.remoting>
124
+ <application>
125
+ <channels>
126
+ <channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
127
+ <channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
128
+ <channel ref="ipc client" displayName="ipc client (delay loaded)" delayLoadAsClientChannel="true" />
129
+ </channels>
130
+ </application>
131
+ <channels>
132
+ <channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
133
+ <channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
134
+ <channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
135
+ <channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
136
+ <channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
137
+ <channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
138
+ <channel id="ipc" type="System.Runtime.Remoting.Channels.Ipc.IpcChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
139
+ <channel id="ipc client" type="System.Runtime.Remoting.Channels.Ipc.IpcClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
140
+ <channel id="ipc server" type="System.Runtime.Remoting.Channels.Ipc.IpcServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
141
+ </channels>
142
+ <channelSinkProviders>
143
+ <clientProviders>
144
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
145
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
146
+ </clientProviders>
147
+ <serverProviders>
148
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
149
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
150
+ <provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
151
+ </serverProviders>
152
+ </channelSinkProviders>
153
+ </system.runtime.remoting>
154
+
155
+ <appSettings>
156
+ <!--<add key="yourkey" value="your value" /> -->
157
+ <!--<remove key="a key defined higher in the hierarchy" /> -->
158
+ <!--<clear/> Removes all defined settings -->
159
+ </appSettings>
160
+ <system.diagnostics>
161
+ <trace autoflush="false" indentsize="4" />
162
+ </system.diagnostics>
163
+ <system.drawing>
164
+ </system.drawing>
165
+
166
+ <system.data>
167
+ <DbProviderFactories>
168
+ <add name="Mono Sqlite Data Provider" invariant="Mono.Data.SqliteClient"
169
+ description="Mono Framework Data Provider for SQLite (old version)"
170
+ type="Mono.Data.SqliteClient.SqliteFactory, Mono.Data.SqliteClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
171
+ <add name="Mono Sqlite Provider" invariant="Mono.Data.Sqlite"
172
+ description="Mono Framework Data Provider for SQLite (new version)"
173
+ type="Mono.Data.Sqlite.SqliteFactory, Mono.Data.Sqlite, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
174
+ <add name="Odbc Data Provider" invariant="System.Data.Odbc"
175
+ description=".Net Framework Data Provider for Odbc"
176
+ type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
177
+ <add name="OleDb Data Provider" invariant="System.Data.OleDb"
178
+ description=".Net Framework Data Provider for OleDb"
179
+ type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
180
+ <add name="OracleClient Data Provider" invariant="System.Data.OracleClient"
181
+ description=".Net Framework Data Provider for Oracle"
182
+ type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
183
+ <add name="SqlClient Data Provider" invariant="System.Data.SqlClient"
184
+ description=".Net Framework Data Provider for SqlServer"
185
+ type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
186
+ <add name="Sybase Data Provider" invariant="Mono.Data.SybaseClient"
187
+ description=".Net Framework Data Provider for Sybase"
188
+ type="Mono.Data.SybaseClient.SybaseClientFactory, Mono.Data.SybaseClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
189
+ </DbProviderFactories>
190
+ </system.data>
191
+
192
+ <mscorlib>
193
+ <cryptographySettings>
194
+ <cryptoNameMapping>
195
+ <cryptoClasses>
196
+ <cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
197
+ <cryptoClass monoMD4="Mono.Security.Cryptography.MD4Managed, Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
198
+ </cryptoClasses>
199
+ <nameEntry name="MD2" class="monoMD2" />
200
+ <nameEntry name="MD4" class="monoMD4" />
201
+ </cryptoNameMapping>
202
+ <oidMap>
203
+ <oidEntry OID="1.2.840.113549.2.2" name="MD2" />
204
+ <oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
205
+ <oidEntry OID="1.2.840.113549.2.4" name="MD4" />
206
+ <oidEntry OID="1.2.840.113549.2.4" name="Mono.Security.Cryptography.MD4Managed" />
207
+ </oidMap>
208
+ </cryptographySettings>
209
+ </mscorlib>
210
+
211
+ <strongNames>
212
+ <pubTokenMapping>
213
+ <!-- ECMA key -->
214
+ <map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
215
+ <!-- Microsoft (final) key -->
216
+ <map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
217
+ <!-- Microsoft (Web Service Enhancement) key -->
218
+ <map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
219
+ <!-- IBM (DB2 Data Provider) key -->
220
+ <map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
221
+ <!-- Silverlight 2.0 key -->
222
+ <map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
223
+ <!-- XNA Framework key -->
224
+ <map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
225
+ </pubTokenMapping>
226
+ </strongNames>
227
+
228
+ <system.web>
229
+ <webServices>
230
+ <protocols>
231
+ <add name="HttpSoap"/>
232
+ <add name="HttpSoap12"/>
233
+ <add name="HttpPost"/>
234
+ <add name="HttpGet"/>
235
+ <add name="Documentation"/>
236
+ </protocols>
237
+ <conformanceWarnings>
238
+ <add name="BasicProfile1_1"/>
239
+ </conformanceWarnings>
240
+ <wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
241
+ </webServices>
242
+
243
+ <membership>
244
+ <providers>
245
+ <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
246
+ <!-- <add name="AspNetSqlMembershipProvider" type="Mainsoft.Web.Security.GenericMembershipProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
247
+ </providers>
248
+ </membership>
249
+
250
+ <roleManager>
251
+ <providers>
252
+ <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="LocalSqlServer" />
253
+ <!-- <add name="AspNetSqlRoleProvider" type="Mainsoft.Web.Security.GenericRoleProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
254
+ </providers>
255
+ </roleManager>
256
+
257
+ <profile>
258
+ <providers>
259
+ <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
260
+ </providers>
261
+ </profile>
262
+ </system.web>
263
+
264
+ <system.serviceModel>
265
+ <extensions>
266
+ <behaviorExtensions>
267
+ <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
268
+ <add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
269
+ </behaviorExtensions>
270
+ <bindingElementExtensions>
271
+ <add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
272
+ </bindingElementExtensions>
273
+ <bindingExtensions>
274
+ <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
275
+ </bindingExtensions>
276
+ </extensions>
277
+ </system.serviceModel>
278
+ </configuration>
279
+
280
+
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/settings.map ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <settingsMap>
3
+ <map sectionType="System.Web.Configuration.MembershipSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
4
+ mapperType="Mono.Web.Util.MembershipSectionMapper, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
5
+ platform="Unix">
6
+
7
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
8
+ any expression understood by the mapper to designate the section region to modify.
9
+ -->
10
+ <what value="providers">
11
+ <!-- 'what' can contain any number of occurrences of any three elements:
12
+ replace - replace the designated region
13
+ add - add a new entry to the region
14
+ clear - clear the region
15
+ remove - remove the designatedregion
16
+
17
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
18
+ mapper to peruse.
19
+ -->
20
+ <replace name="AspNetSqlMembershipProvider"
21
+ type="System.Web.Security.SqliteMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
22
+ connectionStringName="LocalSqliteServer" />
23
+ </what>
24
+ </map>
25
+
26
+ <map sectionType="System.Web.Configuration.RoleManagerSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
27
+ mapperType="Mono.Web.Util.RoleManagerSectionMapper, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
28
+ platform="Unix">
29
+
30
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
31
+ any expression understood by the mapper to designate the section region to modify.
32
+ -->
33
+ <what value="providers">
34
+ <!-- 'what' can contain any number of occurrences of any three elements:
35
+ replace - replace the designated region
36
+ add - add a new entry to the region
37
+ clear - clear the region
38
+ remove - remove the designatedregion
39
+
40
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
41
+ mapper to peruse.
42
+ -->
43
+ <replace name="AspNetSqlRoleProvider"
44
+ type="System.Web.Security.SqliteRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
45
+ connectionStringName="LocalSqliteServer" />
46
+ </what>
47
+ </map>
48
+ </settingsMap>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/2.0/web.config ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <configuration>
4
+
5
+ <system.web>
6
+ <monoSettings>
7
+ <compilersCompatibility>
8
+ <compiler language="c#;cs;csharp" extension=".cs" compilerOptions="/nowarn:0169"
9
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
10
+ </compilersCompatibility>
11
+ </monoSettings>
12
+
13
+ <authorization>
14
+ <allow users="*" />
15
+ </authorization>
16
+ <httpHandlers>
17
+ <add verb="*" path="Trace.axd" type="System.Web.Handlers.TraceHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
18
+ <add verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
19
+ <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
20
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
21
+ <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
22
+ <add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
23
+ <add verb="*" path="*.master" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
24
+ <add verb="*" path="*.resources" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
25
+ <add verb="*" path="*.skin" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
26
+ <add verb="*" path="*.browser" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
27
+ <add verb="*" path="*.sitemap" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
28
+ <add verb="*" path="*.webinfo" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
29
+ <add verb="*" path="*.resx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
30
+ <add verb="*" path="*.asax" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
31
+ <add verb="*" path="*.ascx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
32
+ <add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
33
+ <add verb="*" path="*.Config" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
34
+ <add verb="*" path="*.cs" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
35
+ <add verb="*" path="*.vb" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
36
+ <add verb="*" path="*.csproj" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
37
+ <add verb="*" path="*.vbproj" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
38
+ <add verb="*" path="*.licx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
39
+ <add verb="*" path="*.dll" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
40
+ <add verb="*" path="*.rem" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
41
+ <add verb="*" path="*.soap" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
42
+ <add verb="*" path="*.svc" type="System.ServiceModel.Channels.SvcHttpHandlerFactory, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
43
+ <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
44
+ <add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
45
+ </httpHandlers>
46
+ <httpModules>
47
+ <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
48
+ <add name="OutputCache" type="System.Web.Caching.OutputCacheModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
49
+ <add name="RoleManager" type="System.Web.Security.RoleManagerModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
50
+ <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
51
+ <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
52
+ </httpModules>
53
+ <authentication mode="Forms">
54
+ <forms name=".MONOAUTH" loginUrl="login.aspx" protection="All" timeout="30" path="/">
55
+ <credentials passwordFormat="Clear">
56
+ </credentials>
57
+ </forms>
58
+ </authentication>
59
+ <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" />
60
+ <globalization requestEncoding="utf-8"
61
+ responseEncoding="utf-8"
62
+ fileEncoding="utf-8"/>
63
+ <!--
64
+ culture="en-US"
65
+ uiculture="en-US" />
66
+ -->
67
+ <sessionState mode="InProc" />
68
+ <pages>
69
+ <namespaces>
70
+ <add namespace="System" />
71
+ <add namespace="System.Collections" />
72
+ <add namespace="System.Collections.Specialized" />
73
+ <add namespace="System.Configuration" />
74
+ <add namespace="System.Text" />
75
+ <add namespace="System.Text.RegularExpressions" />
76
+ <add namespace="System.Web" />
77
+ <add namespace="System.Web.Caching" />
78
+ <add namespace="System.Web.SessionState" />
79
+ <add namespace="System.Web.Security" />
80
+ <add namespace="System.Web.Profile" />
81
+ <add namespace="System.Web.UI" />
82
+ <add namespace="System.Web.UI.WebControls" />
83
+ <!-- <add namespace="System.Web.UI.WebControls.WebParts" /> -->
84
+ <add namespace="System.Web.UI.HtmlControls" />
85
+ </namespaces>
86
+ </pages>
87
+ <webControls clientScriptsLocation="/web_scripts" />
88
+ <compilation debug="false" defaultLanguage="c#" explicit="true" strict="false" >
89
+ <assemblies>
90
+ <!--<add assembly="mscorlib" /> -->
91
+ <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
92
+ <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
93
+ <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
94
+ <add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
95
+ <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
96
+ <add assembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
97
+ <add assembly="System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"/>
98
+ <add assembly="System.IdentityModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"/>
99
+ <add assembly="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
100
+ <add assembly="System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
101
+ <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
102
+ <add assembly="*" /> <!-- Add assemblies in bin directory -->
103
+ </assemblies>
104
+ <expressionBuilders>
105
+ <add expressionPrefix="Resources"
106
+ type="System.Web.Compilation.ResourceExpressionBuilder, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
107
+ <add expressionPrefix="ConnectionStrings"
108
+ type="System.Web.Compilation.ConnectionStringsExpressionBuilder, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
109
+ <add expressionPrefix="AppSettings"
110
+ type="System.Web.Compilation.AppSettingsExpressionBuilder, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
111
+ </expressionBuilders>
112
+ <buildProviders>
113
+ <add extension=".aspx" type="System.Web.Compilation.PageBuildProvider" />
114
+ <add extension=".ascx" type="System.Web.Compilation.UserControlBuildProvider" />
115
+ <add extension=".master" type="System.Web.Compilation.MasterPageBuildProvider" />
116
+ <add extension=".asmx" type="System.Web.Compilation.WebServiceBuildProvider" />
117
+ <add extension=".ashx" type="System.Web.Compilation.WebHandlerBuildProvider" />
118
+ <add extension=".soap" type="System.Web.Compilation.WebServiceBuildProvider" />
119
+ <add extension=".resx" type="System.Web.Compilation.ResXBuildProvider" />
120
+ <add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider" />
121
+ <add extension=".wsdl" type="System.Web.Compilation.WsdlBuildProvider" />
122
+ <add extension=".xsd" type="System.Web.Compilation.XsdBuildProvider" />
123
+ <add extension=".js" type="System.Web.Compilation.ForceCopyBuildProvider" />
124
+ <add extension=".lic" type="System.Web.Compilation.IgnoreFileBuildProvider" />
125
+ <add extension=".licx" type="System.Web.Compilation.IgnoreFileBuildProvider" />
126
+ <add extension=".exclude" type="System.Web.Compilation.IgnoreFileBuildProvider" />
127
+ <add extension=".refresh" type="System.Web.Compilation.IgnoreFileBuildProvider" />
128
+ </buildProviders>
129
+ </compilation>
130
+ <httpRuntime executionTimeout="110"
131
+ maxRequestLength="4096"
132
+ useFullyQualifiedRedirectUrl="false"
133
+ minFreeThreads="8"
134
+ minLocalRequestFreeThreads="4"
135
+ appRequestQueueLimit="5000" />
136
+ <clientTarget>
137
+ <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
138
+ <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
139
+ <add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
140
+ <add alias="downlevel" userAgent="Unknown" />
141
+ </clientTarget>
142
+
143
+ <siteMap>
144
+ <providers>
145
+ <add name="AspNetXmlSiteMapProvider"
146
+ description="Default site map provider that reads in .sitemap xml files."
147
+ type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
148
+ siteMapFile="Web.sitemap" />
149
+ </providers>
150
+ </siteMap>
151
+ </system.web>
152
+
153
+ </configuration>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/Browsers/Compat.browser ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--
2
+ This file defines some of the browsers that Microsoft's implementation provides in
3
+ <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers\*.browser
4
+
5
+ It is not derived from any file distributed with Microsoft's implementation. Since
6
+ we can't distribute MS's browser files, we use browscap.ini to determine
7
+ browser capabilities. Then, if and only if the application contains App_Browser/*.browser
8
+ files and we are using .NET 2.0 or higher, we supplement the capabilities with the
9
+ information in those files and the files in this directory. The primary goal of this file
10
+ is provide browser definitions that might be referenced in App_Browser/*.browser files.
11
+ -->
12
+ <browsers>
13
+ <defaultBrowser id="Default">
14
+ </defaultBrowser>
15
+ <browser id="Default">
16
+ <identification>
17
+ <userAgent match="." />
18
+ </identification>
19
+ </browser>
20
+ <browser id="IE6to9" parentID="Default">
21
+ <identification>
22
+ <capability name="majorver" match="^[6-9]" />
23
+ <capability name="browser" match="^(IE|AOL)$" />
24
+ </identification>
25
+ </browser>
26
+ <browser id="Opera8to9" parentID="Default">
27
+ <identification>
28
+ <capability name="majorver" match="^[8-9]" />
29
+ <capability name="browser" match="^Opera$" />
30
+ </identification>
31
+ </browser>
32
+ <browser id="Safari" parentID="Default">
33
+ <identification>
34
+ <capability name="browser" match="^Safari$" />
35
+ </identification>
36
+ </browser>
37
+ <browser id="Mozilla" parentID="Default">
38
+ <identification>
39
+ <capability name="browser" match="^Mozilla" />
40
+ </identification>
41
+ </browser>
42
+ </browsers>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/DefaultWsdlHelpGenerator.aspx ADDED
@@ -0,0 +1,1901 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <%--
2
+ //
3
+ // DefaultWsdlHelpGenerator.aspx:
4
+ //
5
+ // Author:
6
+ // Lluis Sanchez Gual ([email protected])
7
+ //
8
+ // (C) 2003 Ximian, Inc. http://www.ximian.com
9
+ //
10
+ --%>
11
+
12
+ <%@ Import Namespace="System.Collections" %>
13
+ <%@ Import Namespace="System.Collections.Generic" %>
14
+ <%@ Import Namespace="System.IO" %>
15
+ <%@ Import Namespace="System.Xml.Serialization" %>
16
+ <%@ Import Namespace="System.Xml" %>
17
+ <%@ Import Namespace="System.Xml.Schema" %>
18
+ <%@ Import Namespace="System.Web.Services" %>
19
+ <%@ Import Namespace="System.Web.Services.Description" %>
20
+ <%@ Import Namespace="System.Web.Services.Configuration" %>
21
+ <%@ Import Namespace="System.Web.Configuration" %>
22
+ <%@ Import Namespace="System" %>
23
+ <%@ Import Namespace="System.Net" %>
24
+ <%@ Import Namespace="System.Globalization" %>
25
+ <%@ Import Namespace="System.Resources" %>
26
+ <%@ Import Namespace="System.Diagnostics" %>
27
+ <%@ Import Namespace="System.CodeDom" %>
28
+ <%@ Import Namespace="System.CodeDom.Compiler" %>
29
+ <%@ Import Namespace="Microsoft.CSharp" %>
30
+ <%@ Import Namespace="Microsoft.VisualBasic" %>
31
+ <%@ Import Namespace="System.Text" %>
32
+ <%@ Import Namespace="System.Text.RegularExpressions" %>
33
+ <%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
34
+ <%@ Assembly name="System.Web.Services" %>
35
+ <%@ Page debug="true" %>
36
+
37
+ <html>
38
+ <script language="C#" runat="server">
39
+
40
+ ServiceDescriptionCollection descriptions;
41
+ XmlSchemas schemas;
42
+
43
+ string WebServiceName;
44
+ string WebServiceDescription;
45
+ string PageName;
46
+
47
+ string DefaultBinding;
48
+ ArrayList ServiceProtocols;
49
+
50
+ string CurrentOperationName;
51
+ string CurrentOperationBinding;
52
+ string OperationDocumentation;
53
+ string CurrentOperationFormat;
54
+ bool CurrentOperationSupportsTest;
55
+ ArrayList InParams;
56
+ ArrayList OutParams;
57
+ string CurrentOperationProtocols;
58
+ int CodeTextColumns = 95;
59
+ BasicProfileViolationCollection ProfileViolations;
60
+
61
+ void Page_Load(object sender, EventArgs e)
62
+ {
63
+ descriptions = (ServiceDescriptionCollection) Context.Items["wsdls"];
64
+ schemas = (XmlSchemas) Context.Items["schemas"];
65
+
66
+ ServiceDescription desc = descriptions [0];
67
+ if (schemas.Count == 0) schemas = desc.Types.Schemas;
68
+
69
+ Service service = desc.Services[0];
70
+ WebServiceName = service.Name;
71
+ if (desc.Bindings.Count == 0)
72
+ return;
73
+
74
+ DefaultBinding = desc.Bindings[0].Name;
75
+ WebServiceDescription = service.Documentation;
76
+ if (WebServiceDescription == "" || WebServiceDescription == null)
77
+ WebServiceDescription = "Description has not been provided";
78
+ ServiceProtocols = FindServiceProtocols (null);
79
+
80
+ CurrentOperationName = Request.QueryString["op"];
81
+ CurrentOperationBinding = Request.QueryString["bnd"];
82
+ if (CurrentOperationName != null) BuildOperationInfo ();
83
+
84
+ PageName = HttpUtility.UrlEncode (Path.GetFileName(Request.Path), Encoding.UTF8);
85
+
86
+ ArrayList list = new ArrayList ();
87
+ foreach (ServiceDescription sd in descriptions) {
88
+ foreach (Binding bin in sd.Bindings)
89
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null) list.Add (bin);
90
+ }
91
+
92
+ BindingsRepeater.DataSource = list;
93
+ Page.DataBind();
94
+
95
+ ProfileViolations = new BasicProfileViolationCollection ();
96
+ foreach (WsiProfilesElement claims in ((WebServicesSection) WebConfigurationManager.GetSection("system.web/webServices")).ConformanceWarnings)
97
+ if (claims.Name != WsiProfiles.None)
98
+ WebServicesInteroperability.CheckConformance (claims.Name, descriptions, ProfileViolations);
99
+ }
100
+
101
+ void BuildOperationInfo ()
102
+ {
103
+ InParams = new ArrayList ();
104
+ OutParams = new ArrayList ();
105
+
106
+ Port port = FindPort (CurrentOperationBinding, null);
107
+ Binding binding = descriptions.GetBinding (port.Binding);
108
+
109
+ PortType portType = descriptions.GetPortType (binding.Type);
110
+ Operation oper = FindOperation (portType, CurrentOperationName);
111
+
112
+ OperationDocumentation = oper.Documentation;
113
+ if (OperationDocumentation == null || OperationDocumentation == "")
114
+ OperationDocumentation = "No additional remarks";
115
+
116
+ foreach (OperationMessage opm in oper.Messages)
117
+ {
118
+ if (opm is OperationInput)
119
+ BuildParameters (InParams, opm);
120
+ else if (opm is OperationOutput)
121
+ BuildParameters (OutParams, opm);
122
+ }
123
+
124
+ // Protocols supported by the operation
125
+ CurrentOperationProtocols = "";
126
+ WebServiceProtocols testProtocols = 0;
127
+ ArrayList prots = FindServiceProtocols (CurrentOperationName);
128
+ for (int n=0; n<prots.Count; n++) {
129
+ string prot = (string) prots [n];
130
+ if (n != 0) CurrentOperationProtocols += ", ";
131
+ CurrentOperationProtocols += prot;
132
+ if (prot == "HttpGet")
133
+ testProtocols |= WebServiceProtocols.HttpGet;
134
+ else if (prot == "HttpPost") {
135
+ testProtocols |= WebServiceProtocols.HttpPost;
136
+ if (Context.Request.IsLocal)
137
+ testProtocols |= WebServiceProtocols.HttpPostLocalhost;
138
+ }
139
+ }
140
+ CurrentOperationSupportsTest = (WebServicesSection.Current.EnabledProtocols & testProtocols) != 0;
141
+
142
+ // Operation format
143
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
144
+ if (obin != null)
145
+ CurrentOperationFormat = GetOperationFormat (obin);
146
+
147
+ InputParamsRepeater.DataSource = InParams;
148
+ InputFormParamsRepeater.DataSource = InParams;
149
+ OutputParamsRepeater.DataSource = OutParams;
150
+ }
151
+
152
+ void BuildParameters (ArrayList list, OperationMessage opm)
153
+ {
154
+ Message msg = descriptions.GetMessage (opm.Message);
155
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
156
+ {
157
+ MessagePart part = msg.Parts[0];
158
+ XmlSchemaComplexType ctype;
159
+ if (part.Element == XmlQualifiedName.Empty)
160
+ {
161
+ ctype = (XmlSchemaComplexType) schemas.Find (part.Type, typeof(XmlSchemaComplexType));
162
+ }
163
+ else
164
+ {
165
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
166
+ ctype = (XmlSchemaComplexType) elem.SchemaType;
167
+ }
168
+ XmlSchemaSequence seq = ctype.Particle as XmlSchemaSequence;
169
+ if (seq == null) return;
170
+
171
+ foreach (XmlSchemaObject ob in seq.Items)
172
+ {
173
+ Parameter p = new Parameter();
174
+ p.Description = "No additional remarks";
175
+
176
+ if (ob is XmlSchemaElement)
177
+ {
178
+ XmlSchemaElement selem = GetRefElement ((XmlSchemaElement)ob);
179
+ p.Name = selem.Name;
180
+ p.Type = selem.SchemaTypeName.Name;
181
+ }
182
+ else
183
+ {
184
+ p.Name = "Unknown";
185
+ p.Type = "Unknown";
186
+ }
187
+ list.Add (p);
188
+ }
189
+ }
190
+ else
191
+ {
192
+ foreach (MessagePart part in msg.Parts)
193
+ {
194
+ Parameter p = new Parameter ();
195
+ p.Description = "No additional remarks";
196
+ p.Name = part.Name;
197
+ if (part.Element == XmlQualifiedName.Empty)
198
+ p.Type = part.Type.Name;
199
+ else
200
+ {
201
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
202
+ p.Type = elem.SchemaTypeName.Name;
203
+ }
204
+ list.Add (p);
205
+ }
206
+ }
207
+ }
208
+
209
+ string GetOperationFormat (OperationBinding obin)
210
+ {
211
+ string format = "";
212
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
213
+ if (sob != null) {
214
+ format = sob.Style.ToString ();
215
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
216
+ if (sbb != null)
217
+ format += " / " + sbb.Use;
218
+ }
219
+ return format;
220
+ }
221
+
222
+ XmlSchemaElement GetRefElement (XmlSchemaElement elem)
223
+ {
224
+ if (!elem.RefName.IsEmpty)
225
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
226
+ else
227
+ return elem;
228
+ }
229
+
230
+ ArrayList FindServiceProtocols(string operName)
231
+ {
232
+ ArrayList table = new ArrayList ();
233
+ Service service = descriptions[0].Services[0];
234
+ foreach (Port port in service.Ports)
235
+ {
236
+ string prot = null;
237
+ Binding bin = descriptions.GetBinding (port.Binding);
238
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null)
239
+ prot = "Soap";
240
+ else
241
+ {
242
+ HttpBinding hb = (HttpBinding) bin.Extensions.Find (typeof(HttpBinding));
243
+ if (hb != null && hb.Verb == "POST") prot = "HttpPost";
244
+ else if (hb != null && hb.Verb == "GET") prot = "HttpGet";
245
+ }
246
+
247
+ if (prot != null && operName != null)
248
+ {
249
+ if (FindOperation (bin, operName) == null)
250
+ prot = null;
251
+ }
252
+
253
+ if (prot != null && !table.Contains (prot))
254
+ table.Add (prot);
255
+ }
256
+ return table;
257
+ }
258
+
259
+ Port FindPort (string portName, string protocol)
260
+ {
261
+ Service service = descriptions[0].Services[0];
262
+ foreach (Port port in service.Ports)
263
+ {
264
+ if (portName == null)
265
+ {
266
+ Binding binding = descriptions.GetBinding (port.Binding);
267
+ if (GetProtocol (binding) == protocol) return port;
268
+ }
269
+ else if (port.Name == portName)
270
+ return port;
271
+ }
272
+ return null;
273
+ }
274
+
275
+ string GetProtocol (Binding binding)
276
+ {
277
+ if (binding.Extensions.Find (typeof(SoapBinding)) != null) return "Soap";
278
+ HttpBinding hb = (HttpBinding) binding.Extensions.Find (typeof(HttpBinding));
279
+ if (hb == null) return "";
280
+ if (hb.Verb == "POST") return "HttpPost";
281
+ if (hb.Verb == "GET") return "HttpGet";
282
+ return "";
283
+ }
284
+
285
+
286
+ Operation FindOperation (PortType portType, string name)
287
+ {
288
+ foreach (Operation oper in portType.Operations) {
289
+ if (oper.Messages.Input.Name != null) {
290
+ if (oper.Messages.Input.Name == name) return oper;
291
+ }
292
+ else
293
+ if (oper.Name == name) return oper;
294
+ }
295
+
296
+ return null;
297
+ }
298
+
299
+ OperationBinding FindOperation (Binding binding, string name)
300
+ {
301
+ foreach (OperationBinding oper in binding.Operations) {
302
+ if (oper.Input.Name != null) {
303
+ if (oper.Input.Name == name) return oper;
304
+ }
305
+ else
306
+ if (oper.Name == name) return oper;
307
+ }
308
+
309
+ return null;
310
+ }
311
+
312
+ string FormatBindingName (string name)
313
+ {
314
+ if (name == DefaultBinding) return "Methods";
315
+ else return "Methods for binding<br>" + name;
316
+ }
317
+
318
+ string GetOpName (object op)
319
+ {
320
+ OperationBinding ob = op as OperationBinding;
321
+ if (ob == null) return "";
322
+ if (ob.Input.Name != null) return ob.Input.Name;
323
+ else return ob.Name;
324
+ }
325
+
326
+ bool HasFormResult
327
+ {
328
+ get { return Request.QueryString ["ext"] == "testform"; }
329
+ }
330
+
331
+ class NoCheckCertificatePolicy : ICertificatePolicy {
332
+ public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
333
+ {
334
+ return true;
335
+ }
336
+ }
337
+
338
+ string GetOrPost ()
339
+ {
340
+ return (CurrentOperationProtocols.IndexOf ("HttpGet") >= 0) ? "GET" : "POST";
341
+ }
342
+
343
+ string GetQS ()
344
+ {
345
+ bool fill = false;
346
+ string qs = "";
347
+ NameValueCollection query_string = Request.QueryString;
348
+ for (int n = 0; n < query_string.Count; n++) {
349
+ if (fill) {
350
+ if (qs != "") qs += "&";
351
+ qs += query_string.GetKey(n) + "=" + Server.UrlEncode (query_string [n]);
352
+ }
353
+ if (query_string.GetKey(n) == "ext") fill = true;
354
+ }
355
+
356
+ return qs;
357
+ }
358
+
359
+ string GetTestResultUrl ()
360
+ {
361
+ if (!HasFormResult) return "";
362
+
363
+ string location = null;
364
+ ServiceDescription desc = descriptions [0];
365
+ Service service = desc.Services[0];
366
+ foreach (Port port in service.Ports)
367
+ if (port.Name == CurrentOperationBinding)
368
+ {
369
+ SoapAddressBinding sbi = (SoapAddressBinding) port.Extensions.Find (typeof(SoapAddressBinding));
370
+ if (sbi != null)
371
+ location = sbi.Location;
372
+ }
373
+
374
+ if (location == null)
375
+ return "Could not locate web service";
376
+
377
+ return location + "/" + CurrentOperationName;
378
+ }
379
+
380
+ string GenerateOperationMessages (string protocol, bool generateInput)
381
+ {
382
+ if (!IsOperationSupported (protocol)) return "";
383
+
384
+ Port port;
385
+ if (protocol != "Soap") port = FindPort (null, protocol);
386
+ else port = FindPort (CurrentOperationBinding, null);
387
+
388
+ Binding binding = descriptions.GetBinding (port.Binding);
389
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
390
+ PortType portType = descriptions.GetPortType (binding.Type);
391
+ Operation oper = FindOperation (portType, CurrentOperationName);
392
+
393
+ HtmlSampleGenerator sg = new HtmlSampleGenerator (descriptions, schemas);
394
+ string txt = sg.GenerateMessage (port, obin, oper, protocol, generateInput);
395
+ if (protocol == "Soap") txt = WrapText (txt,CodeTextColumns);
396
+ txt = ColorizeXml (txt);
397
+ txt = txt.Replace ("@placeholder!","<span class='literal-placeholder'>");
398
+ txt = txt.Replace ("!placeholder@","</span>");
399
+ return txt;
400
+ }
401
+
402
+ bool IsOperationSupported (string protocol)
403
+ {
404
+ if (CurrentPage != "op" || CurrentTab != "msg") return false;
405
+ if (protocol == "Soap") return true;
406
+
407
+ Port port = FindPort (null, protocol);
408
+ if (port == null) return false;
409
+ Binding binding = descriptions.GetBinding (port.Binding);
410
+ if (binding == null) return false;
411
+ return FindOperation (binding, CurrentOperationName) != null;
412
+ }
413
+
414
+ //
415
+ // Proxy code generation
416
+ //
417
+
418
+ string GetProxyCode ()
419
+ {
420
+ CodeNamespace codeNamespace = new CodeNamespace();
421
+ CodeCompileUnit codeUnit = new CodeCompileUnit();
422
+
423
+ codeUnit.Namespaces.Add (codeNamespace);
424
+
425
+ ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
426
+
427
+ foreach (ServiceDescription sd in descriptions)
428
+ importer.AddServiceDescription(sd, null, null);
429
+
430
+ foreach (XmlSchema sc in schemas)
431
+ importer.Schemas.Add (sc);
432
+
433
+ importer.Import(codeNamespace, codeUnit);
434
+
435
+ string langId = Request.QueryString ["lang"];
436
+ if (langId == null || langId == "") langId = "cs";
437
+ CodeDomProvider provider = GetProvider (langId);
438
+ ICodeGenerator generator = provider.CreateGenerator();
439
+ CodeGeneratorOptions options = new CodeGeneratorOptions();
440
+
441
+ StringWriter sw = new StringWriter ();
442
+ generator.GenerateCodeFromCompileUnit(codeUnit, sw, options);
443
+
444
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), langId);
445
+ }
446
+
447
+ public string CurrentLanguage
448
+ {
449
+ get {
450
+ string langId = Request.QueryString ["lang"];
451
+ if (langId == null || langId == "") langId = "cs";
452
+ return langId;
453
+ }
454
+ }
455
+
456
+ public string CurrentProxytName
457
+ {
458
+ get {
459
+ string lan = CurrentLanguage == "cs" ? "C#" : "Visual Basic";
460
+ return lan + " Client Proxy";
461
+ }
462
+ }
463
+
464
+ private CodeDomProvider GetProvider(string langId)
465
+ {
466
+ switch (langId.ToUpper())
467
+ {
468
+ case "CS": return new CSharpCodeProvider();
469
+ case "VB": return new VBCodeProvider();
470
+ default: return null;
471
+ }
472
+ }
473
+
474
+ //
475
+ // Document generation
476
+ //
477
+ class UTF8StringWriter : StringWriter {
478
+ public override Encoding Encoding {
479
+ get { return Encoding.UTF8; }
480
+ }
481
+ }
482
+
483
+ string GenerateDocument ()
484
+ {
485
+ UTF8StringWriter sw = new UTF8StringWriter ();
486
+
487
+ if (CurrentDocType == "wsdl")
488
+ descriptions [CurrentDocInd].Write (sw);
489
+ else if (CurrentDocType == "schema")
490
+ schemas [CurrentDocInd].Write (sw);
491
+
492
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), "xml");
493
+ }
494
+
495
+ public string CurrentDocType
496
+ {
497
+ get { return Request.QueryString ["doctype"] != null ? Request.QueryString ["doctype"] : "wsdl"; }
498
+ }
499
+
500
+ public int CurrentDocInd
501
+ {
502
+ get { return Request.QueryString ["docind"] != null ? int.Parse (Request.QueryString ["docind"]) : 0; }
503
+ }
504
+
505
+ public string CurrentDocumentName
506
+ {
507
+ get {
508
+ if (CurrentDocType == "wsdl")
509
+ return "WSDL document for namespace \"" + descriptions [CurrentDocInd].TargetNamespace + "\"";
510
+ else
511
+ return "Xml Schema for namespace \"" + schemas [CurrentDocInd].TargetNamespace + "\"";
512
+ }
513
+ }
514
+
515
+ //
516
+ // Pages and tabs
517
+ //
518
+
519
+ bool firstTab = true;
520
+ ArrayList disabledTabs = new ArrayList ();
521
+
522
+ string CurrentTab
523
+ {
524
+ get { return Request.QueryString["tab"] != null ? Request.QueryString["tab"] : "main" ; }
525
+ }
526
+
527
+ string CurrentPage
528
+ {
529
+ get { return Request.QueryString["page"] != null ? Request.QueryString["page"] : "main" ; }
530
+ }
531
+
532
+ void WriteTabs ()
533
+ {
534
+ if (CurrentOperationName != null)
535
+ {
536
+ WriteTab ("main","Overview");
537
+ WriteTab ("test","Test Form");
538
+ WriteTab ("msg","Message Layout");
539
+ }
540
+ }
541
+
542
+ void WriteTab (string id, string label)
543
+ {
544
+ if (!firstTab) Response.Write("&nbsp;|&nbsp;");
545
+ firstTab = false;
546
+
547
+ string cname = CurrentTab == id ? "tabLabelOn" : "tabLabelOff";
548
+ Response.Write ("<a href='" + PageName + "?" + GetPageContext(null) + GetDataContext() + "tab=" + id + "' style='text-decoration:none'>");
549
+ Response.Write ("<span class='" + cname + "'>" + label + "</span>");
550
+ Response.Write ("</a>");
551
+ }
552
+
553
+ string GetTabContext (string pag, string tab)
554
+ {
555
+ if (tab == null) tab = CurrentTab;
556
+ if (pag == null) pag = CurrentPage;
557
+ if (pag != CurrentPage) tab = "main";
558
+ return "page=" + pag + "&tab=" + tab + "&";
559
+ }
560
+
561
+ string GetPageContext (string pag)
562
+ {
563
+ if (pag == null) pag = CurrentPage;
564
+ return "page=" + pag + "&";
565
+ }
566
+
567
+ class Tab
568
+ {
569
+ public string Id;
570
+ public string Label;
571
+ }
572
+
573
+ //
574
+ // Syntax coloring
575
+ //
576
+
577
+ static string keywords_cs =
578
+ "(\\babstract\\b|\\bevent\\b|\\bnew\\b|\\bstruct\\b|\\bas\\b|\\bexplicit\\b|\\bnull\\b|\\bswitch\\b|\\bbase\\b|\\bextern\\b|" +
579
+ "\\bobject\\b|\\bthis\\b|\\bbool\\b|\\bfalse\\b|\\boperator\\b|\\bthrow\\b|\\bbreak\\b|\\bfinally\\b|\\bout\\b|\\btrue\\b|" +
580
+ "\\bbyte\\b|\\bfixed\\b|\\boverride\\b|\\btry\\b|\\bcase\\b|\\bfloat\\b|\\bparams\\b|\\btypeof\\b|\\bcatch\\b|\\bfor\\b|" +
581
+ "\\bprivate\\b|\\buint\\b|\\bchar\\b|\\bforeach\\b|\\bprotected\\b|\\bulong\\b|\\bchecked\\b|\\bgoto\\b|\\bpublic\\b|" +
582
+ "\\bunchecked\\b|\\bclass\\b|\\bif\\b|\\breadonly\\b|\\bunsafe\\b|\\bconst\\b|\\bimplicit\\b|\\bref\\b|\\bushort\\b|" +
583
+ "\\bcontinue\\b|\\bin\\b|\\breturn\\b|\\busing\\b|\\bdecimal\\b|\\bint\\b|\\bsbyte\\b|\\bvirtual\\b|\\bdefault\\b|" +
584
+ "\\binterface\\b|\\bsealed\\b|\\bvolatile\\b|\\bdelegate\\b|\\binternal\\b|\\bshort\\b|\\bvoid\\b|\\bdo\\b|\\bis\\b|" +
585
+ "\\bsizeof\\b|\\bwhile\\b|\\bdouble\\b|\\block\\b|\\bstackalloc\\b|\\belse\\b|\\blong\\b|\\bstatic\\b|\\benum\\b|" +
586
+ "\\bnamespace\\b|\\bstring\\b)";
587
+
588
+ static string keywords_vb =
589
+ "(\\bAddHandler\\b|\\bAddressOf\\b|\\bAlias\\b|\\bAnd\\b|\\bAndAlso\\b|\\bAnsi\\b|\\bAs\\b|\\bAssembly\\b|" +
590
+ "\\bAuto\\b|\\bBoolean\\b|\\bByRef\\b|\\bByte\\b|\\bByVal\\b|\\bCall\\b|\\bCase\\b|\\bCatch\\b|" +
591
+ "\\bCBool\\b|\\bCByte\\b|\\bCChar\\b|\\bCDate\\b|\\bCDec\\b|\\bCDbl\\b|\\bChar\\b|\\bCInt\\b|" +
592
+ "\\bClass\\b|\\bCLng\\b|\\bCObj\\b|\\bConst\\b|\\bCShort\\b|\\bCSng\\b|\\bCStr\\b|\\bCType\\b|" +
593
+ "\\bDate\\b|\\bDecimal\\b|\\bDeclare\\b|\\bDefault\\b|\\bDelegate\\b|\\bDim\\b|\\bDirectCast\\b|\\bDo\\b|" +
594
+ "\\bDouble\\b|\\bEach\\b|\\bElse\\b|\\bElseIf\\b|\\bEnd\\b|\\bEnum\\b|\\bErase\\b|\\bError\\b|" +
595
+ "\\bEvent\\b|\\bExit\\b|\\bFalse\\b|\\bFinally\\b|\\bFor\\b|\\bFriend\\b|\\bFunction\\b|\\bGet\\b|" +
596
+ "\\bGetType\\b|\\bGoSub\\b|\\bGoTo\\b|\\bHandles\\b|\\bIf\\b|\\bImplements\\b|\\bImports\\b|\\bIn\\b|" +
597
+ "\\bInherits\\b|\\bInteger\\b|\\bInterface\\b|\\bIs\\b|\\bLet\\b|\\bLib\\b|\\bLike\\b|\\bLong\\b|" +
598
+ "\\bLoop\\b|\\bMe\\b|\\bMod\\b|\\bModule\\b|\\bMustInherit\\b|\\bMustOverride\\b|\\bMyBase\\b|\\bMyClass\\b|" +
599
+ "\\bNamespace\\b|\\bNew\\b|\\bNext\\b|\\bNot\\b|\\bNothing\\b|\\bNotInheritable\\b|\\bNotOverridable\\b|\\bObject\\b|" +
600
+ "\\bOn\\b|\\bOption\\b|\\bOptional\\b|\\bOr\\b|\\bOrElse\\b|\\bOverloads\\b|\\bOverridable\\b|\\bOverrides\\b|" +
601
+ "\\bParamArray\\b|\\bPreserve\\b|\\bPrivate\\b|\\bProperty\\b|\\bProtected\\b|\\bPublic\\b|\\bRaiseEvent\\b|\\bReadOnly\\b|" +
602
+ "\\bReDim\\b|\\bREM\\b|\\bRemoveHandler\\b|\\bResume\\b|\\bReturn\\b|\\bSelect\\b|\\bSet\\b|\\bShadows\\b|" +
603
+ "\\bShared\\b|\\bShort\\b|\\bSingle\\b|\\bStatic\\b|\\bStep\\b|\\bStop\\b|\\bString\\b|\\bStructure\\b|" +
604
+ "\\bSub\\b|\\bSyncLock\\b|\\bThen\\b|\\bThrow\\b|\\bTo\\b|\\bTrue\\b|\\bTry\\b|\\bTypeOf\\b|" +
605
+ "\\bUnicode\\b|\\bUntil\\b|\\bVariant\\b|\\bWhen\\b|\\bWhile\\b|\\bWith\\b|\\bWithEvents\\b|\\bWriteOnly\\b|\\bXor\\b)";
606
+
607
+ string Colorize (string text, string lang)
608
+ {
609
+ if (lang == "xml") return ColorizeXml (text);
610
+ else if (lang == "cs") return ColorizeCs (text);
611
+ else if (lang == "vb") return ColorizeVb (text);
612
+ else return text;
613
+ }
614
+
615
+ string ColorizeXml (string text)
616
+ {
617
+ text = text.Replace (" ", "&nbsp;");
618
+ Regex re = new Regex ("\r\n|\r|\n");
619
+ text = re.Replace (text, "_br_");
620
+
621
+ re = new Regex ("<\\s*(\\/?)\\s*([\\s\\S]*?)\\s*(\\/?)\\s*>");
622
+ text = re.Replace (text,"{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
623
+
624
+ re = new Regex ("\\{(\\w*):([\\s\\S]*?)\\}");
625
+ text = re.Replace (text,"<span style='color:$1'>$2</span>");
626
+
627
+ re = new Regex ("\"(.*?)\"");
628
+ text = re.Replace (text,"\"<span style='color:purple'>$1</span>\"");
629
+
630
+
631
+ text = text.Replace ("\t", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
632
+ text = text.Replace ("_br_", "<br>");
633
+ return text;
634
+ }
635
+
636
+ string ColorizeCs (string text)
637
+ {
638
+ text = text.Replace (" ", "&nbsp;");
639
+
640
+ text = text.Replace ("<", "&lt;");
641
+ text = text.Replace (">", "&gt;");
642
+
643
+ Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
644
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
645
+
646
+ re = new Regex ("//(((.(?!\"</span>))|\"(((?!\").)*)\"</span>)*)(\r|\n|\r\n)");
647
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
648
+
649
+ re = new Regex (keywords_cs);
650
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
651
+
652
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
653
+ text = text.Replace ("\n","<br/>");
654
+
655
+ return text;
656
+ }
657
+
658
+ string ColorizeVb (string text)
659
+ {
660
+ text = text.Replace (" ", "&nbsp;");
661
+
662
+ /* Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
663
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
664
+
665
+ re = new Regex ("'(((.(?!\"\\<\\/span\\>))|\"(((?!\").)*)\"\\<\\/span\\>)*)(\r|\n|\r\n)");
666
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
667
+
668
+ re = new Regex (keywords_vb);
669
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
670
+ */
671
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
672
+ text = text.Replace ("\n","<br/>");
673
+ return text;
674
+ }
675
+
676
+ //
677
+ // Helper methods and classes
678
+ //
679
+
680
+ string GetDataContext ()
681
+ {
682
+ return "op=" + CurrentOperationName + "&bnd=" + CurrentOperationBinding + "&";
683
+ }
684
+
685
+ string GetOptionSel (string v1, string v2)
686
+ {
687
+ string op = "<option ";
688
+ if (v1 == v2) op += "selected ";
689
+ return op + "value='" + v1 + "'>";
690
+ }
691
+
692
+ string WrapText (string text, int maxChars)
693
+ {
694
+ text = text.Replace(" />","/>");
695
+
696
+ string linspace = null;
697
+ int lincount = 0;
698
+ int breakpos = 0;
699
+ int linstart = 0;
700
+ bool inquotes = false;
701
+ char lastc = ' ';
702
+ string sublineIndent = "";
703
+ System.Text.StringBuilder sb = new System.Text.StringBuilder ();
704
+ for (int n=0; n<text.Length; n++)
705
+ {
706
+ char c = text [n];
707
+
708
+ if (c=='\r' || c=='\n' || n==text.Length-1)
709
+ {
710
+ sb.Append (linspace + sublineIndent + text.Substring (linstart, n-linstart+1));
711
+ linspace = null;
712
+ lincount = 0;
713
+ linstart = n+1;
714
+ breakpos = linstart;
715
+ sublineIndent = "";
716
+ lastc = c;
717
+ continue;
718
+ }
719
+
720
+ if (lastc==',' || lastc=='(')
721
+ {
722
+ if (!inquotes) breakpos = n;
723
+ }
724
+
725
+ if (lincount > maxChars && breakpos >= linstart)
726
+ {
727
+ if (linspace != null)
728
+ sb.Append (linspace + sublineIndent);
729
+ sb.Append (text.Substring (linstart, breakpos-linstart));
730
+ sb.Append ("\n");
731
+ sublineIndent = " ";
732
+ lincount = linspace.Length + sublineIndent.Length + (n-breakpos);
733
+ linstart = breakpos;
734
+ }
735
+
736
+ if (c==' ' || c=='\t')
737
+ {
738
+ if (!inquotes)
739
+ breakpos = n;
740
+ }
741
+ else if (c=='"')
742
+ {
743
+ inquotes = !inquotes;
744
+ }
745
+ else
746
+ if (linspace == null) {
747
+ linspace = text.Substring (linstart, n-linstart);
748
+ linstart = n;
749
+ }
750
+
751
+ lincount++;
752
+ lastc = c;
753
+ }
754
+ return sb.ToString ();
755
+ }
756
+
757
+ class Parameter
758
+ {
759
+ string name;
760
+ string type;
761
+ string description;
762
+
763
+ public string Name { get { return name; } set { name = value; } }
764
+ public string Type { get { return type; } set { type = value; } }
765
+ public string Description { get { return description; } set { description = value; } }
766
+ }
767
+
768
+ public class HtmlSampleGenerator: SampleGenerator
769
+ {
770
+ public HtmlSampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
771
+ : base (services, schemas)
772
+ {
773
+ }
774
+
775
+ protected override string GetLiteral (string s)
776
+ {
777
+ return "@placeholder!" + s + "!placeholder@";
778
+ }
779
+ }
780
+
781
+
782
+ public class SampleGenerator
783
+ {
784
+ protected ServiceDescriptionCollection descriptions;
785
+ protected XmlSchemas schemas;
786
+ XmlSchemaElement anyElement;
787
+ ArrayList queue;
788
+ SoapBindingUse currentUse;
789
+ XmlDocument document = new XmlDocument ();
790
+
791
+ static readonly XmlQualifiedName anyType = new XmlQualifiedName ("anyType",XmlSchema.Namespace);
792
+ static readonly XmlQualifiedName arrayType = new XmlQualifiedName ("Array","http://schemas.xmlsoap.org/soap/encoding/");
793
+ static readonly XmlQualifiedName arrayTypeRefName = new XmlQualifiedName ("arrayType","http://schemas.xmlsoap.org/soap/encoding/");
794
+ const string SoapEnvelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
795
+ const string WsdlNamespace = "http://schemas.xmlsoap.org/wsdl/";
796
+ const string SoapEncodingNamespace = "http://schemas.xmlsoap.org/soap/encoding/";
797
+
798
+ class EncodedType
799
+ {
800
+ public EncodedType (string ns, XmlSchemaElement elem) { Namespace = ns; Element = elem; }
801
+ public string Namespace;
802
+ public XmlSchemaElement Element;
803
+ }
804
+
805
+ public SampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
806
+ {
807
+ descriptions = services;
808
+ this.schemas = schemas;
809
+ queue = new ArrayList ();
810
+ }
811
+
812
+ public string GenerateMessage (Port port, OperationBinding obin, Operation oper, string protocol, bool generateInput)
813
+ {
814
+ OperationMessage msg = null;
815
+ foreach (OperationMessage opm in oper.Messages)
816
+ {
817
+ if (opm is OperationInput && generateInput) msg = opm;
818
+ else if (opm is OperationOutput && !generateInput) msg = opm;
819
+ }
820
+ if (msg == null) return null;
821
+
822
+ switch (protocol) {
823
+ case "Soap": return GenerateHttpSoapMessage (port, obin, oper, msg);
824
+ case "HttpGet": return GenerateHttpGetMessage (port, obin, oper, msg);
825
+ case "HttpPost": return GenerateHttpPostMessage (port, obin, oper, msg);
826
+ }
827
+ return "Unknown protocol";
828
+ }
829
+
830
+ public string GenerateHttpSoapMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
831
+ {
832
+ string req = "";
833
+
834
+ if (msg is OperationInput)
835
+ {
836
+ SoapAddressBinding sab = port.Extensions.Find (typeof(SoapAddressBinding)) as SoapAddressBinding;
837
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
838
+ req += "POST " + new Uri (sab.Location).AbsolutePath + "\n";
839
+ req += "SOAPAction: " + sob.SoapAction + "\n";
840
+ req += "Content-Type: text/xml; charset=utf-8\n";
841
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
842
+ req += "Host: " + GetLiteral ("string") + "\n\n";
843
+ }
844
+ else
845
+ {
846
+ req += "HTTP/1.0 200 OK\n";
847
+ req += "Content-Type: text/xml; charset=utf-8\n";
848
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
849
+ }
850
+
851
+ req += GenerateSoapMessage (obin, oper, msg);
852
+ return req;
853
+ }
854
+
855
+ public string GenerateHttpGetMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
856
+ {
857
+ string req = "";
858
+
859
+ if (msg is OperationInput)
860
+ {
861
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
862
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
863
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location + "?" + BuildQueryString (msg);
864
+ req += "GET " + location + "\n";
865
+ req += "Host: " + GetLiteral ("string");
866
+ }
867
+ else
868
+ {
869
+ req += "HTTP/1.0 200 OK\n";
870
+ req += "Content-Type: text/xml; charset=utf-8\n";
871
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
872
+
873
+ MimeXmlBinding mxb = (MimeXmlBinding) obin.Output.Extensions.Find (typeof(MimeXmlBinding)) as MimeXmlBinding;
874
+ if (mxb == null) return req;
875
+
876
+ Message message = descriptions.GetMessage (msg.Message);
877
+ XmlQualifiedName ename = null;
878
+ foreach (MessagePart part in message.Parts)
879
+ if (part.Name == mxb.Part) ename = part.Element;
880
+
881
+ if (ename == null) return req + GetLiteral("string");
882
+
883
+ StringWriter sw = new StringWriter ();
884
+ XmlTextWriter xtw = new XmlTextWriter (sw);
885
+ xtw.Formatting = Formatting.Indented;
886
+ currentUse = SoapBindingUse.Literal;
887
+ WriteRootElementSample (xtw, ename);
888
+ xtw.Close ();
889
+ req += sw.ToString ();
890
+ }
891
+
892
+ return req;
893
+ }
894
+
895
+ public string GenerateHttpPostMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
896
+ {
897
+ string req = "";
898
+
899
+ if (msg is OperationInput)
900
+ {
901
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
902
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
903
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location;
904
+ req += "POST " + location + "\n";
905
+ req += "Content-Type: application/x-www-form-urlencoded\n";
906
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
907
+ req += "Host: " + GetLiteral ("string") + "\n\n";
908
+ req += BuildQueryString (msg);
909
+ }
910
+ else return GenerateHttpGetMessage (port, obin, oper, msg);
911
+
912
+ return req;
913
+ }
914
+
915
+ string BuildQueryString (OperationMessage opm)
916
+ {
917
+ string s = "";
918
+ Message msg = descriptions.GetMessage (opm.Message);
919
+ foreach (MessagePart part in msg.Parts)
920
+ {
921
+ if (s.Length != 0) s += "&";
922
+ s += part.Name + "=" + GetLiteral (part.Type.Name);
923
+ }
924
+ return s;
925
+ }
926
+
927
+ public string GenerateSoapMessage (OperationBinding obin, Operation oper, OperationMessage msg)
928
+ {
929
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
930
+ SoapBindingStyle style = (sob != null) ? sob.Style : SoapBindingStyle.Document;
931
+
932
+ MessageBinding msgbin = (msg is OperationInput) ? (MessageBinding) obin.Input : (MessageBinding)obin.Output;
933
+ SoapBodyBinding sbb = msgbin.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
934
+ SoapBindingUse bodyUse = (sbb != null) ? sbb.Use : SoapBindingUse.Literal;
935
+
936
+ StringWriter sw = new StringWriter ();
937
+ XmlTextWriter xtw = new XmlTextWriter (sw);
938
+ xtw.Formatting = Formatting.Indented;
939
+
940
+ xtw.WriteStartDocument ();
941
+ xtw.WriteStartElement ("soap", "Envelope", SoapEnvelopeNamespace);
942
+ xtw.WriteAttributeString ("xmlns", "xsi", null, XmlSchema.InstanceNamespace);
943
+ xtw.WriteAttributeString ("xmlns", "xsd", null, XmlSchema.Namespace);
944
+
945
+ if (bodyUse == SoapBindingUse.Encoded)
946
+ {
947
+ xtw.WriteAttributeString ("xmlns", "soapenc", null, SoapEncodingNamespace);
948
+ xtw.WriteAttributeString ("xmlns", "tns", null, msg.Message.Namespace);
949
+ }
950
+
951
+ // Serialize headers
952
+
953
+ bool writtenHeader = false;
954
+ foreach (object ob in msgbin.Extensions)
955
+ {
956
+ SoapHeaderBinding hb = ob as SoapHeaderBinding;
957
+ if (hb == null) continue;
958
+
959
+ if (!writtenHeader) {
960
+ xtw.WriteStartElement ("soap", "Header", SoapEnvelopeNamespace);
961
+ writtenHeader = true;
962
+ }
963
+
964
+ WriteHeader (xtw, hb);
965
+ }
966
+
967
+ if (writtenHeader)
968
+ xtw.WriteEndElement ();
969
+
970
+ // Serialize body
971
+ xtw.WriteStartElement ("soap", "Body", SoapEnvelopeNamespace);
972
+
973
+ currentUse = bodyUse;
974
+ WriteBody (xtw, oper, msg, sbb, style);
975
+
976
+ xtw.WriteEndElement ();
977
+ xtw.WriteEndElement ();
978
+ xtw.Close ();
979
+ return sw.ToString ();
980
+ }
981
+
982
+ void WriteHeader (XmlTextWriter xtw, SoapHeaderBinding header)
983
+ {
984
+ Message msg = descriptions.GetMessage (header.Message);
985
+ if (msg == null) throw new InvalidOperationException ("Message " + header.Message + " not found");
986
+ MessagePart part = msg.Parts [header.Part];
987
+ if (part == null) throw new InvalidOperationException ("Message part " + header.Part + " not found in message " + header.Message);
988
+
989
+ currentUse = header.Use;
990
+
991
+ if (currentUse == SoapBindingUse.Literal)
992
+ WriteRootElementSample (xtw, part.Element);
993
+ else
994
+ WriteTypeSample (xtw, part.Type);
995
+ }
996
+
997
+ void WriteBody (XmlTextWriter xtw, Operation oper, OperationMessage opm, SoapBodyBinding sbb, SoapBindingStyle style)
998
+ {
999
+ Message msg = descriptions.GetMessage (opm.Message);
1000
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
1001
+ {
1002
+ MessagePart part = msg.Parts[0];
1003
+ if (part.Element == XmlQualifiedName.Empty)
1004
+ WriteTypeSample (xtw, part.Type);
1005
+ else
1006
+ WriteRootElementSample (xtw, part.Element);
1007
+ }
1008
+ else
1009
+ {
1010
+ string elemName = oper.Name;
1011
+ string ns = "";
1012
+ if (opm is OperationOutput) elemName += "Response";
1013
+
1014
+ if (style == SoapBindingStyle.Rpc) {
1015
+ xtw.WriteStartElement (elemName, sbb.Namespace);
1016
+ ns = sbb.Namespace;
1017
+ }
1018
+
1019
+ foreach (MessagePart part in msg.Parts)
1020
+ {
1021
+ if (part.Element == XmlQualifiedName.Empty)
1022
+ {
1023
+ XmlSchemaElement elem = new XmlSchemaElement ();
1024
+ elem.SchemaTypeName = part.Type;
1025
+ elem.Name = part.Name;
1026
+ WriteElementSample (xtw, ns, elem);
1027
+ }
1028
+ else
1029
+ WriteRootElementSample (xtw, part.Element);
1030
+ }
1031
+
1032
+ if (style == SoapBindingStyle.Rpc)
1033
+ xtw.WriteEndElement ();
1034
+ }
1035
+ WriteQueuedTypeSamples (xtw);
1036
+ }
1037
+
1038
+ void WriteRootElementSample (XmlTextWriter xtw, XmlQualifiedName qname)
1039
+ {
1040
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (qname, typeof(XmlSchemaElement));
1041
+ if (elem == null) throw new InvalidOperationException ("Element not found: " + qname);
1042
+ WriteElementSample (xtw, qname.Namespace, elem);
1043
+ }
1044
+
1045
+ void WriteElementSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1046
+ {
1047
+ bool sharedAnnType = false;
1048
+ XmlQualifiedName root;
1049
+
1050
+ if (!elem.RefName.IsEmpty) {
1051
+ XmlSchemaElement refElem = FindRefElement (elem);
1052
+ if (refElem == null) throw new InvalidOperationException ("Global element not found: " + elem.RefName);
1053
+ root = elem.RefName;
1054
+ elem = refElem;
1055
+ sharedAnnType = true;
1056
+ }
1057
+ else
1058
+ root = new XmlQualifiedName (elem.Name, ns);
1059
+
1060
+ if (!elem.SchemaTypeName.IsEmpty)
1061
+ {
1062
+ XmlSchemaComplexType st = FindComplexTyype (elem.SchemaTypeName);
1063
+ if (st != null)
1064
+ WriteComplexTypeSample (xtw, st, root);
1065
+ else
1066
+ {
1067
+ xtw.WriteStartElement (root.Name, root.Namespace);
1068
+ if (currentUse == SoapBindingUse.Encoded)
1069
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, elem.SchemaTypeName));
1070
+ xtw.WriteString (GetLiteral (FindBuiltInType (elem.SchemaTypeName)));
1071
+ xtw.WriteEndElement ();
1072
+ }
1073
+ }
1074
+ else if (elem.SchemaType == null)
1075
+ {
1076
+ xtw.WriteStartElement ("any");
1077
+ xtw.WriteEndElement ();
1078
+ }
1079
+ else
1080
+ WriteComplexTypeSample (xtw, (XmlSchemaComplexType) elem.SchemaType, root);
1081
+ }
1082
+
1083
+ void WriteTypeSample (XmlTextWriter xtw, XmlQualifiedName qname)
1084
+ {
1085
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1086
+ if (ctype != null) {
1087
+ WriteComplexTypeSample (xtw, ctype, qname);
1088
+ return;
1089
+ }
1090
+
1091
+ XmlSchemaSimpleType stype = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1092
+ if (stype != null) {
1093
+ WriteSimpleTypeSample (xtw, stype);
1094
+ return;
1095
+ }
1096
+
1097
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1098
+ throw new InvalidOperationException ("Type not found: " + qname);
1099
+ }
1100
+
1101
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName)
1102
+ {
1103
+ WriteComplexTypeSample (xtw, stype, rootName, -1);
1104
+ }
1105
+
1106
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName, int id)
1107
+ {
1108
+ string ns = rootName.Namespace;
1109
+
1110
+ if (rootName.Name.IndexOf ("[]") != -1) rootName = arrayType;
1111
+
1112
+ if (currentUse == SoapBindingUse.Encoded) {
1113
+ string pref = xtw.LookupPrefix (rootName.Namespace);
1114
+ if (pref == null) pref = "q1";
1115
+ xtw.WriteStartElement (pref, rootName.Name, rootName.Namespace);
1116
+ ns = "";
1117
+ }
1118
+ else
1119
+ xtw.WriteStartElement (rootName.Name, rootName.Namespace);
1120
+
1121
+ if (id != -1)
1122
+ {
1123
+ xtw.WriteAttributeString ("id", "id" + id);
1124
+ if (rootName != arrayType)
1125
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, rootName));
1126
+ }
1127
+
1128
+ WriteComplexTypeAttributes (xtw, stype);
1129
+ WriteComplexTypeElements (xtw, ns, stype);
1130
+
1131
+ xtw.WriteEndElement ();
1132
+ }
1133
+
1134
+ void WriteComplexTypeAttributes (XmlTextWriter xtw, XmlSchemaComplexType stype)
1135
+ {
1136
+ WriteAttributes (xtw, stype.Attributes, stype.AnyAttribute);
1137
+ }
1138
+
1139
+ Dictionary<XmlSchemaComplexType,int> recursed_types = new Dictionary<XmlSchemaComplexType,int> ();
1140
+ void WriteComplexTypeElements (XmlTextWriter xtw, string ns, XmlSchemaComplexType stype)
1141
+ {
1142
+ int prev = 0;
1143
+ if (recursed_types.ContainsKey (stype))
1144
+ prev = recursed_types [stype];
1145
+
1146
+ if (prev > 1)
1147
+ return;
1148
+ recursed_types [stype] = ++prev;
1149
+
1150
+ if (stype.Particle != null)
1151
+ WriteParticleComplexContent (xtw, ns, stype.Particle);
1152
+ else
1153
+ {
1154
+ if (stype.ContentModel is XmlSchemaSimpleContent)
1155
+ WriteSimpleContent (xtw, (XmlSchemaSimpleContent)stype.ContentModel);
1156
+ else if (stype.ContentModel is XmlSchemaComplexContent)
1157
+ WriteComplexContent (xtw, ns, (XmlSchemaComplexContent)stype.ContentModel);
1158
+ }
1159
+ prev = recursed_types [stype];
1160
+ recursed_types [stype] = --prev;
1161
+ }
1162
+
1163
+ void WriteAttributes (XmlTextWriter xtw, XmlSchemaObjectCollection atts, XmlSchemaAnyAttribute anyat)
1164
+ {
1165
+ foreach (XmlSchemaObject at in atts)
1166
+ {
1167
+ if (at is XmlSchemaAttribute)
1168
+ {
1169
+ string ns;
1170
+ XmlSchemaAttribute attr = (XmlSchemaAttribute)at;
1171
+ XmlSchemaAttribute refAttr = attr;
1172
+
1173
+ // refAttr.Form; TODO
1174
+
1175
+ if (!attr.RefName.IsEmpty) {
1176
+ refAttr = FindRefAttribute (attr.RefName);
1177
+ if (refAttr == null) throw new InvalidOperationException ("Global attribute not found: " + attr.RefName);
1178
+ }
1179
+
1180
+ string val;
1181
+ if (!refAttr.SchemaTypeName.IsEmpty) val = FindBuiltInType (refAttr.SchemaTypeName);
1182
+ else val = FindBuiltInType ((XmlSchemaSimpleType) refAttr.SchemaType);
1183
+
1184
+ xtw.WriteAttributeString (refAttr.Name, val);
1185
+ }
1186
+ else if (at is XmlSchemaAttributeGroupRef)
1187
+ {
1188
+ XmlSchemaAttributeGroupRef gref = (XmlSchemaAttributeGroupRef)at;
1189
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1190
+ WriteAttributes (xtw, grp.Attributes, grp.AnyAttribute);
1191
+ }
1192
+ }
1193
+
1194
+ if (anyat != null)
1195
+ xtw.WriteAttributeString ("custom-attribute","value");
1196
+ }
1197
+
1198
+ void WriteParticleComplexContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle)
1199
+ {
1200
+ WriteParticleContent (xtw, ns, particle, false);
1201
+ }
1202
+
1203
+ void WriteParticleContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle, bool multiValue)
1204
+ {
1205
+ if (particle is XmlSchemaGroupRef)
1206
+ particle = GetRefGroupParticle ((XmlSchemaGroupRef)particle);
1207
+
1208
+ if (particle.MaxOccurs > 1) multiValue = true;
1209
+
1210
+ if (particle is XmlSchemaSequence) {
1211
+ WriteSequenceContent (xtw, ns, ((XmlSchemaSequence)particle).Items, multiValue);
1212
+ }
1213
+ else if (particle is XmlSchemaChoice) {
1214
+ if (((XmlSchemaChoice)particle).Items.Count == 1)
1215
+ WriteSequenceContent (xtw, ns, ((XmlSchemaChoice)particle).Items, multiValue);
1216
+ else
1217
+ WriteChoiceContent (xtw, ns, (XmlSchemaChoice)particle, multiValue);
1218
+ }
1219
+ else if (particle is XmlSchemaAll) {
1220
+ WriteSequenceContent (xtw, ns, ((XmlSchemaAll)particle).Items, multiValue);
1221
+ }
1222
+ }
1223
+
1224
+ void WriteSequenceContent (XmlTextWriter xtw, string ns, XmlSchemaObjectCollection items, bool multiValue)
1225
+ {
1226
+ foreach (XmlSchemaObject item in items)
1227
+ WriteContentItem (xtw, ns, item, multiValue);
1228
+ }
1229
+
1230
+ void WriteContentItem (XmlTextWriter xtw, string ns, XmlSchemaObject item, bool multiValue)
1231
+ {
1232
+ if (item is XmlSchemaGroupRef)
1233
+ item = GetRefGroupParticle ((XmlSchemaGroupRef)item);
1234
+
1235
+ if (item is XmlSchemaElement)
1236
+ {
1237
+ XmlSchemaElement elem = (XmlSchemaElement) item;
1238
+ XmlSchemaElement refElem;
1239
+ if (!elem.RefName.IsEmpty) refElem = FindRefElement (elem);
1240
+ else refElem = elem;
1241
+
1242
+ int num = (elem.MaxOccurs == 1 && !multiValue) ? 1 : 2;
1243
+ for (int n=0; n<num; n++)
1244
+ {
1245
+ if (currentUse == SoapBindingUse.Literal)
1246
+ WriteElementSample (xtw, ns, refElem);
1247
+ else
1248
+ WriteRefTypeSample (xtw, ns, refElem);
1249
+ }
1250
+ }
1251
+ else if (item is XmlSchemaAny)
1252
+ {
1253
+ xtw.WriteString (GetLiteral ("xml"));
1254
+ }
1255
+ else if (item is XmlSchemaParticle) {
1256
+ WriteParticleContent (xtw, ns, (XmlSchemaParticle)item, multiValue);
1257
+ }
1258
+ }
1259
+
1260
+ void WriteChoiceContent (XmlTextWriter xtw, string ns, XmlSchemaChoice choice, bool multiValue)
1261
+ {
1262
+ foreach (XmlSchemaObject item in choice.Items)
1263
+ WriteContentItem (xtw, ns, item, multiValue);
1264
+ }
1265
+
1266
+ void WriteSimpleContent (XmlTextWriter xtw, XmlSchemaSimpleContent content)
1267
+ {
1268
+ XmlSchemaSimpleContentExtension ext = content.Content as XmlSchemaSimpleContentExtension;
1269
+ if (ext != null)
1270
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1271
+
1272
+ XmlQualifiedName qname = GetContentBaseType (content.Content);
1273
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1274
+ }
1275
+
1276
+ string FindBuiltInType (XmlQualifiedName qname)
1277
+ {
1278
+ if (qname.Namespace == XmlSchema.Namespace)
1279
+ return qname.Name;
1280
+
1281
+ XmlSchemaComplexType ct = FindComplexTyype (qname);
1282
+ if (ct != null)
1283
+ {
1284
+ XmlSchemaSimpleContent sc = ct.ContentModel as XmlSchemaSimpleContent;
1285
+ if (sc == null) throw new InvalidOperationException ("Invalid schema");
1286
+ return FindBuiltInType (GetContentBaseType (sc.Content));
1287
+ }
1288
+
1289
+ XmlSchemaSimpleType st = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1290
+ if (st != null)
1291
+ return FindBuiltInType (st);
1292
+
1293
+ throw new InvalidOperationException ("Definition of type " + qname + " not found");
1294
+ }
1295
+
1296
+ string FindBuiltInType (XmlSchemaSimpleType st)
1297
+ {
1298
+ if (st.Content is XmlSchemaSimpleTypeRestriction) {
1299
+ return FindBuiltInType (GetContentBaseType (st.Content));
1300
+ }
1301
+ else if (st.Content is XmlSchemaSimpleTypeList) {
1302
+ string s = FindBuiltInType (GetContentBaseType (st.Content));
1303
+ return s + " " + s + " ...";
1304
+ }
1305
+ else if (st.Content is XmlSchemaSimpleTypeUnion)
1306
+ {
1307
+ //Check if all types of the union are equal. If not, then will use anyType.
1308
+ XmlSchemaSimpleTypeUnion uni = (XmlSchemaSimpleTypeUnion) st.Content;
1309
+ string utype = null;
1310
+
1311
+ // Anonymous types are unique
1312
+ if (uni.BaseTypes.Count != 0 && uni.MemberTypes.Length != 0)
1313
+ return "string";
1314
+
1315
+ foreach (XmlQualifiedName mt in uni.MemberTypes)
1316
+ {
1317
+ string qn = FindBuiltInType (mt);
1318
+ if (utype != null && qn != utype) return "string";
1319
+ else utype = qn;
1320
+ }
1321
+ return utype;
1322
+ }
1323
+ else
1324
+ return "string";
1325
+ }
1326
+
1327
+
1328
+ XmlQualifiedName GetContentBaseType (XmlSchemaObject ob)
1329
+ {
1330
+ if (ob is XmlSchemaSimpleContentExtension)
1331
+ return ((XmlSchemaSimpleContentExtension)ob).BaseTypeName;
1332
+ else if (ob is XmlSchemaSimpleContentRestriction)
1333
+ return ((XmlSchemaSimpleContentRestriction)ob).BaseTypeName;
1334
+ else if (ob is XmlSchemaSimpleTypeRestriction)
1335
+ return ((XmlSchemaSimpleTypeRestriction)ob).BaseTypeName;
1336
+ else if (ob is XmlSchemaSimpleTypeList)
1337
+ return ((XmlSchemaSimpleTypeList)ob).ItemTypeName;
1338
+ else
1339
+ return null;
1340
+ }
1341
+
1342
+ void WriteComplexContent (XmlTextWriter xtw, string ns, XmlSchemaComplexContent content)
1343
+ {
1344
+ XmlQualifiedName qname;
1345
+
1346
+ XmlSchemaComplexContentExtension ext = content.Content as XmlSchemaComplexContentExtension;
1347
+ if (ext != null) qname = ext.BaseTypeName;
1348
+ else {
1349
+ XmlSchemaComplexContentRestriction rest = (XmlSchemaComplexContentRestriction)content.Content;
1350
+ qname = rest.BaseTypeName;
1351
+ if (qname == arrayType) {
1352
+ ParseArrayType (rest, out qname);
1353
+ XmlSchemaElement elem = new XmlSchemaElement ();
1354
+ elem.Name = "Item";
1355
+ elem.SchemaTypeName = qname;
1356
+
1357
+ xtw.WriteAttributeString ("arrayType", SoapEncodingNamespace, qname.Name + "[2]");
1358
+ WriteContentItem (xtw, ns, elem, true);
1359
+ return;
1360
+ }
1361
+ }
1362
+
1363
+ // Add base map members to this map
1364
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1365
+ WriteComplexTypeAttributes (xtw, ctype);
1366
+
1367
+ if (ext != null) {
1368
+ // Add the members of this map
1369
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1370
+ if (ext.Particle != null)
1371
+ WriteParticleComplexContent (xtw, ns, ext.Particle);
1372
+ }
1373
+
1374
+ WriteComplexTypeElements (xtw, ns, ctype);
1375
+ }
1376
+
1377
+ void ParseArrayType (XmlSchemaComplexContentRestriction rest, out XmlQualifiedName qtype)
1378
+ {
1379
+ XmlSchemaAttribute arrayTypeAt = FindArrayAttribute (rest.Attributes);
1380
+ XmlAttribute[] uatts = arrayTypeAt.UnhandledAttributes;
1381
+ if (uatts == null || uatts.Length == 0) throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1382
+
1383
+ XmlAttribute xat = null;
1384
+ foreach (XmlAttribute at in uatts)
1385
+ if (at.LocalName == "arrayType" && at.NamespaceURI == WsdlNamespace)
1386
+ { xat = at; break; }
1387
+
1388
+ if (xat == null)
1389
+ throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1390
+
1391
+ string arrayType = xat.Value;
1392
+ string type, ns;
1393
+ int i = arrayType.LastIndexOf (":");
1394
+ if (i == -1) ns = "";
1395
+ else ns = arrayType.Substring (0,i);
1396
+
1397
+ int j = arrayType.IndexOf ("[", i+1);
1398
+ if (j == -1) throw new InvalidOperationException ("Cannot parse WSDL array type: " + arrayType);
1399
+ type = arrayType.Substring (i+1);
1400
+ type = type.Substring (0, type.Length-2);
1401
+
1402
+ qtype = new XmlQualifiedName (type, ns);
1403
+ }
1404
+
1405
+ XmlSchemaAttribute FindArrayAttribute (XmlSchemaObjectCollection atts)
1406
+ {
1407
+ foreach (object ob in atts)
1408
+ {
1409
+ XmlSchemaAttribute att = ob as XmlSchemaAttribute;
1410
+ if (att != null && att.RefName == arrayTypeRefName) return att;
1411
+
1412
+ XmlSchemaAttributeGroupRef gref = ob as XmlSchemaAttributeGroupRef;
1413
+ if (gref != null)
1414
+ {
1415
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1416
+ att = FindArrayAttribute (grp.Attributes);
1417
+ if (att != null) return att;
1418
+ }
1419
+ }
1420
+ return null;
1421
+ }
1422
+
1423
+ void WriteSimpleTypeSample (XmlTextWriter xtw, XmlSchemaSimpleType stype)
1424
+ {
1425
+ xtw.WriteString (GetLiteral (FindBuiltInType (stype)));
1426
+ }
1427
+
1428
+ XmlSchemaParticle GetRefGroupParticle (XmlSchemaGroupRef refGroup)
1429
+ {
1430
+ XmlSchemaGroup grp = (XmlSchemaGroup) schemas.Find (refGroup.RefName, typeof (XmlSchemaGroup));
1431
+ return grp.Particle;
1432
+ }
1433
+
1434
+ XmlSchemaElement FindRefElement (XmlSchemaElement elem)
1435
+ {
1436
+ if (elem.RefName.Namespace == XmlSchema.Namespace)
1437
+ {
1438
+ if (anyElement != null) return anyElement;
1439
+ anyElement = new XmlSchemaElement ();
1440
+ anyElement.Name = "any";
1441
+ anyElement.SchemaTypeName = anyType;
1442
+ return anyElement;
1443
+ }
1444
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
1445
+ }
1446
+
1447
+ XmlSchemaAttribute FindRefAttribute (XmlQualifiedName refName)
1448
+ {
1449
+ if (refName.Namespace == XmlSchema.Namespace)
1450
+ {
1451
+ XmlSchemaAttribute at = new XmlSchemaAttribute ();
1452
+ at.Name = refName.Name;
1453
+ at.SchemaTypeName = new XmlQualifiedName ("string",XmlSchema.Namespace);
1454
+ return at;
1455
+ }
1456
+ return (XmlSchemaAttribute) schemas.Find (refName, typeof(XmlSchemaAttribute));
1457
+ }
1458
+
1459
+ void WriteRefTypeSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1460
+ {
1461
+ if (elem.SchemaTypeName.Namespace == XmlSchema.Namespace || schemas.Find (elem.SchemaTypeName, typeof(XmlSchemaSimpleType)) != null)
1462
+ WriteElementSample (xtw, ns, elem);
1463
+ else
1464
+ {
1465
+ xtw.WriteStartElement (elem.Name, ns);
1466
+ xtw.WriteAttributeString ("href", "#id" + (queue.Count+1));
1467
+ xtw.WriteEndElement ();
1468
+ queue.Add (new EncodedType (ns, elem));
1469
+ }
1470
+ }
1471
+
1472
+ void WriteQueuedTypeSamples (XmlTextWriter xtw)
1473
+ {
1474
+ for (int n=0; n<queue.Count; n++)
1475
+ {
1476
+ EncodedType ec = (EncodedType) queue[n];
1477
+ XmlSchemaComplexType st = FindComplexTyype (ec.Element.SchemaTypeName);
1478
+ WriteComplexTypeSample (xtw, st, ec.Element.SchemaTypeName, n+1);
1479
+ }
1480
+ }
1481
+
1482
+ XmlSchemaComplexType FindComplexTyype (XmlQualifiedName qname)
1483
+ {
1484
+ if (qname.Name.IndexOf ("[]") != -1)
1485
+ {
1486
+ XmlSchemaComplexType stype = new XmlSchemaComplexType ();
1487
+ stype.ContentModel = new XmlSchemaComplexContent ();
1488
+
1489
+ XmlSchemaComplexContentRestriction res = new XmlSchemaComplexContentRestriction ();
1490
+ stype.ContentModel.Content = res;
1491
+ res.BaseTypeName = arrayType;
1492
+
1493
+ XmlSchemaAttribute att = new XmlSchemaAttribute ();
1494
+ att.RefName = arrayTypeRefName;
1495
+ res.Attributes.Add (att);
1496
+
1497
+ XmlAttribute xat = document.CreateAttribute ("arrayType", WsdlNamespace);
1498
+ xat.Value = qname.Namespace + ":" + qname.Name;
1499
+ att.UnhandledAttributes = new XmlAttribute[] {xat};
1500
+ return stype;
1501
+ }
1502
+
1503
+ return (XmlSchemaComplexType) schemas.Find (qname, typeof(XmlSchemaComplexType));
1504
+ }
1505
+
1506
+ string GetQualifiedNameString (XmlTextWriter xtw, XmlQualifiedName qname)
1507
+ {
1508
+ string pref = xtw.LookupPrefix (qname.Namespace);
1509
+ if (pref != null) return pref + ":" + qname.Name;
1510
+
1511
+ xtw.WriteAttributeString ("xmlns", "q1", null, qname.Namespace);
1512
+ return "q1:" + qname.Name;
1513
+ }
1514
+
1515
+ protected virtual string GetLiteral (string s)
1516
+ {
1517
+ return s;
1518
+ }
1519
+
1520
+ void GetOperationFormat (OperationBinding obin, out SoapBindingStyle style, out SoapBindingUse use)
1521
+ {
1522
+ style = SoapBindingStyle.Document;
1523
+ use = SoapBindingUse.Literal;
1524
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
1525
+ if (sob != null) {
1526
+ style = sob.Style;
1527
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
1528
+ if (sbb != null)
1529
+ use = sbb.Use;
1530
+ }
1531
+ }
1532
+ }
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+ </script>
1539
+
1540
+ <head runat="server">
1541
+ <%
1542
+ Response.Write ("<link rel=\"alternate\" type=\"text/xml\" href=\"" + Request.FilePath + "?disco\"/>");
1543
+ %>
1544
+ <title><%=WebServiceName%> Web Service</title>
1545
+ <style type="text/css">
1546
+ BODY { font-family: Arial; margin-left: 20px; margin-top: 20px; font-size: x-small}
1547
+ TABLE { font-size: x-small }
1548
+ .title { color:dimgray; font-family: Arial; font-size:20pt; font-weight:900}
1549
+ .operationTitle { color:dimgray; font-family: Arial; font-size:15pt; font-weight:900}
1550
+ .method { font-size: x-small }
1551
+ .bindingLabel { font-size: x-small; font-weight:bold; color:darkgray; line-height:8pt; display:block; margin-bottom:3px }
1552
+ .label { font-size: small; font-weight:bold; color:darkgray }
1553
+ .paramTable { font-size: x-small }
1554
+ .paramTable TR { background-color: gainsboro }
1555
+ .paramFormTable { font-size: x-small; padding: 10px; background-color: gainsboro }
1556
+ .paramFormTable TR { background-color: gainsboro }
1557
+ .paramInput { border: solid 1px gray }
1558
+ .button {border: solid 1px gray }
1559
+ .smallSeparator { height:3px; overflow:hidden }
1560
+ .panel { background-color:whitesmoke; border: solid 1px silver; border-top: solid 1px silver }
1561
+ .codePanel { background-color: white; font-size:x-small; padding:7px; border:solid 1px silver}
1562
+ .code-xml { font-size:10pt; font-family:courier }
1563
+ .code-cs { font-size:10pt; font-family:courier }
1564
+ .code-vb { font-size:10pt; font-family:courier }
1565
+ .tabLabelOn { font-weight:bold }
1566
+ .tabLabelOff {color: darkgray }
1567
+ .literal-placeholder {color: darkblue; font-weight:bold}
1568
+ A:link { color: black; }
1569
+ A:visited { color: black; }
1570
+ A:active { color: black; }
1571
+ A:hover { color: blue }
1572
+ </style>
1573
+
1574
+ <script language="javascript" type="text/javascript">
1575
+ var req;
1576
+ function getXML (command, url, qs) {
1577
+ if (url == "" || url.substring (0, 4) != "http")
1578
+ return;
1579
+
1580
+ var post_data = null;
1581
+ req = getReq ();
1582
+ req.onreadystatechange = stateChange;
1583
+ if (command == "GET") {
1584
+ url = url + "?" + qs;
1585
+ } else {
1586
+ post_data = qs;
1587
+ }
1588
+ req.open (command, url, true);
1589
+ if (command == "POST")
1590
+ req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
1591
+ req.send (post_data);
1592
+ }
1593
+
1594
+ function stateChange () {
1595
+ if (req.readyState == 4) {
1596
+ var node = document.getElementById("testresult_div");
1597
+ var text = "";
1598
+ if (req.status == 200) {
1599
+ node.innerHTML = "<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
1600
+ } else {
1601
+ var ht = "<b style='color: red'>" + formatXml (req.status + " - " + req.statusText) + "</b>";
1602
+ if (req.responseText != "")
1603
+ ht = ht + "\n<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
1604
+ node.innerHTML = ht;
1605
+
1606
+ }
1607
+ }
1608
+ }
1609
+
1610
+ function formatXml (text)
1611
+ {
1612
+ var re = / /g;
1613
+ text = text.replace (re, "&nbsp;");
1614
+
1615
+ re = /\t/g;
1616
+ text = text.replace (re, "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
1617
+
1618
+ re = /\<\s*(\/?)\s*(.*?)\s*(\/?)\s*\>/g;
1619
+ text = text.replace (re,"{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
1620
+
1621
+ re = /{(\w*):(.*?)}/g;
1622
+ text = text.replace (re,"<span style='color:$1'>$2</span>");
1623
+
1624
+ re = /"(.*?)"/g;
1625
+ text = text.replace (re,"\"<span style='color:purple'>$1</span>\"");
1626
+
1627
+ re = /\r\n|\r|\n/g;
1628
+ text = text.replace (re, "<br/>");
1629
+
1630
+ return text;
1631
+ }
1632
+
1633
+ function getReq () {
1634
+ if (window.XMLHttpRequest) {
1635
+ return new XMLHttpRequest(); // Firefox, Safari, ...
1636
+ } else if (window.ActiveXObject) {
1637
+ return new ActiveXObject("Microsoft.XMLHTTP");
1638
+ }
1639
+ }
1640
+
1641
+ function clearForm ()
1642
+ {
1643
+ document.getElementById("testFormResult").style.display="none";
1644
+ }
1645
+ </script>
1646
+
1647
+ </head>
1648
+
1649
+ <body>
1650
+ <div class="title" style="margin-left:20px">
1651
+ <span class="label">Web Service</span><br>
1652
+ <%=WebServiceName%>
1653
+ </div>
1654
+
1655
+ <!--
1656
+ **********************************************************
1657
+ Left panel
1658
+ -->
1659
+
1660
+ <table border="0" width="100%" cellpadding="15px" cellspacing="15px">
1661
+ <tr valign="top"><td width="150px" class="panel">
1662
+ <div style="width:150px"></div>
1663
+ <a class="method" href='<%=PageName%>'>Overview</a><br>
1664
+ <div class="smallSeparator"></div>
1665
+ <a class="method" href='<%=PageName + "?" + GetPageContext("wsdl")%>'>Service Description</a>
1666
+ <div class="smallSeparator"></div>
1667
+ <a class="method" href='<%=PageName + "?" + GetPageContext("proxy")%>'>Client proxy</a>
1668
+ <br><br>
1669
+ <asp:repeater id="BindingsRepeater" runat=server>
1670
+ <itemtemplate name="itemtemplate">
1671
+ <span class="bindingLabel"><%#FormatBindingName(DataBinder.Eval(Container.DataItem, "Name").ToString())%></span>
1672
+ <asp:repeater id="OperationsRepeater" runat=server datasource='<%# ((Binding)Container.DataItem).Operations %>'>
1673
+ <itemtemplate>
1674
+ <a class="method" href="<%=PageName%>?<%=GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
1675
+ <div class="smallSeparator"></div>
1676
+ </itemtemplate>
1677
+ </asp:repeater>
1678
+ <br>
1679
+ </itemtemplate>
1680
+ </asp:repeater>
1681
+
1682
+ </td><td class="panel">
1683
+
1684
+ <% if (CurrentPage == "main") {%>
1685
+
1686
+ <!--
1687
+ **********************************************************
1688
+ Web service overview
1689
+ -->
1690
+
1691
+ <p class="label">Web Service Overview</p>
1692
+ <%=WebServiceDescription%>
1693
+ <br/><br/>
1694
+ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %>
1695
+ <p class="label">Basic Profile Conformance</p>
1696
+ This web service does not conform to WS-I Basic Profile v1.1
1697
+ <%
1698
+ Response.Write ("<ul>");
1699
+ foreach (BasicProfileViolation vio in ProfileViolations) {
1700
+ Response.Write ("<li><b>" + vio.NormativeStatement + "</b>: " + vio.Details);
1701
+ Response.Write ("<ul>");
1702
+ foreach (string ele in vio.Elements)
1703
+ Response.Write ("<li>" + ele + "</li>");
1704
+ Response.Write ("</ul>");
1705
+ Response.Write ("</li>");
1706
+ }
1707
+ Response.Write ("</ul>");
1708
+ }%>
1709
+
1710
+ <%} if (DefaultBinding == null) {%>
1711
+ This service does not contain any public web method.
1712
+ <%} else if (CurrentPage == "op") {%>
1713
+
1714
+ <!--
1715
+ **********************************************************
1716
+ Operation description
1717
+ -->
1718
+
1719
+ <span class="operationTitle"><%=CurrentOperationName%></span>
1720
+ <br><br>
1721
+ <% WriteTabs (); %>
1722
+ <br><br><br>
1723
+
1724
+ <% if (CurrentTab == "main") { %>
1725
+ <span class="label">Input Parameters</span>
1726
+ <div class="smallSeparator"></div>
1727
+ <% if (InParams.Count == 0) { %>
1728
+ No input parameters<br>
1729
+ <% } else { %>
1730
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1731
+ <asp:repeater id="InputParamsRepeater" runat=server>
1732
+ <itemtemplate>
1733
+ <tr>
1734
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1735
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1736
+ </tr>
1737
+ </itemtemplate>
1738
+ </asp:repeater>
1739
+ </table>
1740
+ <% } %>
1741
+ <br>
1742
+
1743
+ <% if (OutParams.Count > 0) { %>
1744
+ <span class="label">Output Parameters</span>
1745
+ <div class="smallSeparator"></div>
1746
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1747
+ <asp:repeater id="OutputParamsRepeater" runat=server>
1748
+ <itemtemplate>
1749
+ <tr>
1750
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1751
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1752
+ </tr>
1753
+ </itemtemplate>
1754
+ </asp:repeater>
1755
+ </table>
1756
+ <br>
1757
+ <% } %>
1758
+
1759
+ <span class="label">Remarks</span>
1760
+ <div class="smallSeparator"></div>
1761
+ <%=OperationDocumentation%>
1762
+ <br><br>
1763
+ <span class="label">Technical information</span>
1764
+ <div class="smallSeparator"></div>
1765
+ Format: <%=CurrentOperationFormat%>
1766
+ <br>Supported protocols: <%=CurrentOperationProtocols%>
1767
+ <% } %>
1768
+
1769
+ <!--
1770
+ **********************************************************
1771
+ Operation description - Test form
1772
+ -->
1773
+
1774
+ <% if (CurrentTab == "test") {
1775
+ if (CurrentOperationSupportsTest) {%>
1776
+ Enter values for the parameters and click the 'Invoke' button to test this method:<br><br>
1777
+ <form action="<%=PageName%>" method="GET">
1778
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
1779
+ <input type="hidden" name="tab" value="<%=CurrentTab%>">
1780
+ <input type="hidden" name="op" value="<%=CurrentOperationName%>">
1781
+ <input type="hidden" name="bnd" value="<%=CurrentOperationBinding%>">
1782
+ <input type="hidden" name="ext" value="testform">
1783
+ <table class="paramFormTable" cellspacing="0" cellpadding="3">
1784
+ <asp:repeater id="InputFormParamsRepeater" runat=server>
1785
+ <itemtemplate>
1786
+ <tr>
1787
+ <td><%#DataBinder.Eval(Container.DataItem, "Name")%>:&nbsp;</td>
1788
+ <td width="150"><input class="paramInput" type="text" size="20" name="<%#DataBinder.Eval(Container.DataItem, "Name")%>"></td>
1789
+ </tr>
1790
+ </itemtemplate>
1791
+ </asp:repeater>
1792
+ <tr><td></td><td><input class="button" type="submit" value="Invoke">&nbsp;<input class="button" type="button" onclick="clearForm()" value="Clear"></td></tr>
1793
+ </table>
1794
+ </form>
1795
+ <div id="testFormResult" style="display:<%= (HasFormResult?"block":"none") %>">
1796
+ The web service returned the following result:<br/><br/>
1797
+ <div class="codePanel" id="testresult_div">
1798
+ </div>
1799
+ <script language="javascript">
1800
+ getXML ("<%= GetOrPost () %>", "<%= GetTestResultUrl () %>", "<%= GetQS () %>");
1801
+ </script>
1802
+ </div>
1803
+ <% } else {%>
1804
+ The test form is not available for this operation because it has parameters with a complex structure.
1805
+ <% } %>
1806
+ <% } %>
1807
+
1808
+ <!--
1809
+ **********************************************************
1810
+ Operation description - Message Layout
1811
+ -->
1812
+
1813
+ <% if (CurrentTab == "msg") { %>
1814
+
1815
+ The following are sample SOAP requests and responses for each protocol supported by this method:
1816
+ <br/><br/>
1817
+
1818
+ <% if (IsOperationSupported ("Soap")) { %>
1819
+ <span class="label">Soap</span>
1820
+ <br/><br/>
1821
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", true)%></div></div>
1822
+ <br/>
1823
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", false)%></div></div>
1824
+ <br/>
1825
+ <% } %>
1826
+ <% if (IsOperationSupported ("HttpGet")) { %>
1827
+ <span class="label">HTTP Get</span>
1828
+ <br/><br/>
1829
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", true)%></div></div>
1830
+ <br/>
1831
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", false)%></div></div>
1832
+ <br/>
1833
+ <% } %>
1834
+ <% if (IsOperationSupported ("HttpPost")) { %>
1835
+ <span class="label">HTTP Post</span>
1836
+ <br/><br/>
1837
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", true)%></div></div>
1838
+ <br/>
1839
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", false)%></div></div>
1840
+ <br/>
1841
+ <% } %>
1842
+
1843
+ <% } %>
1844
+ <%} else if (CurrentPage == "proxy") {%>
1845
+ <!--
1846
+ **********************************************************
1847
+ Client Proxy
1848
+ -->
1849
+ <form action="<%=PageName%>" name="langForm" method="GET">
1850
+ Select the language for which you want to generate a proxy
1851
+ <input type="hidden" name="page" value="<%=CurrentPage%>">&nbsp;
1852
+ <SELECT name="lang" onchange="langForm.submit()">
1853
+ <%=GetOptionSel("cs",CurrentLanguage)%>C#</option>
1854
+ <%=GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
1855
+ </SELECT>
1856
+ &nbsp;&nbsp;
1857
+ </form>
1858
+ <br>
1859
+ <span class="label"><%=CurrentProxytName%></span>&nbsp;&nbsp;&nbsp;
1860
+ <a href="<%=PageName + "?code=" + CurrentLanguage%>">Download</a>
1861
+ <br><br>
1862
+ <div class="codePanel">
1863
+ <div class="code-<%=CurrentLanguage%>"><%=GetProxyCode ()%></div>
1864
+ </div>
1865
+ <%} else if (CurrentPage == "wsdl") {%>
1866
+ <!--
1867
+ **********************************************************
1868
+ Service description
1869
+ -->
1870
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
1871
+ The description of this web service is composed by several documents. Click on the document you want to see:
1872
+
1873
+ <ul>
1874
+ <%
1875
+ for (int n=0; n<descriptions.Count; n++)
1876
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=wsdl&docind=" + n + "'>WSDL document " + descriptions[n].TargetNamespace + "</a></li>");
1877
+ for (int n=0; n<schemas.Count; n++)
1878
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=schema&docind=" + n + "'>Xml Schema " + schemas[n].TargetNamespace + "</a></li>");
1879
+ %>
1880
+ </ul>
1881
+
1882
+ <%} else {%>
1883
+ <%}%>
1884
+ <br>
1885
+ <span class="label"><%=CurrentDocumentName%></span>&nbsp;&nbsp;&nbsp;
1886
+ <a href="<%=PageName + "?" + CurrentDocType + "=" + CurrentDocInd %>">Download</a>
1887
+ <br><br>
1888
+ <div class="codePanel">
1889
+ <div class="code-xml"><%=GenerateDocument ()%></div>
1890
+ </div>
1891
+
1892
+ <%}%>
1893
+
1894
+ <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
1895
+ </td>
1896
+ <td width="20px"></td>
1897
+ </tr>
1898
+
1899
+ </table>
1900
+ </body>
1901
+ </html>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/machine.config ADDED
@@ -0,0 +1,307 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <configuration>
4
+
5
+ <configSections>
6
+ <section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
7
+ <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
8
+ <section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
9
+ <section name="mscorlib" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
10
+ <section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
11
+ <section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
12
+ <section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
13
+ <section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
14
+ <section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
15
+ <section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
16
+ <section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
17
+ <section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
18
+ <section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
19
+ <section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
20
+ <section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
21
+ <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
22
+ <section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
23
+ <section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
24
+ <section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
25
+ <section name="browserCaps" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
26
+ <section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
27
+ <section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
28
+ <section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
29
+ <section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" />
30
+ <section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
31
+ <section name="healthMonitoring" type="System.Web.Configuration.HealthMonitoringSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
32
+ <section name="hostingEnvironment" type="System.Web.Configuration.HostingEnvironmentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
33
+ <section name="httpCookies" type="System.Web.Configuration.HttpCookiesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
34
+ <section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
35
+ <section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
36
+ <section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
37
+ <section name="identity" type="System.Web.Configuration.IdentitySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
38
+ <section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
39
+ <section name="membership" type="System.Web.Configuration.MembershipSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
40
+ <section name="mobileControls" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
41
+ <section name="deviceFilters" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
42
+ <section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
43
+ <section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
44
+ <section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
45
+ <section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
46
+ <section name="securityPolicy" type="System.Web.Configuration.SecurityPolicySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
47
+ <section name="sessionPageState" type="System.Web.Configuration.SessionPageStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
48
+ <section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
49
+ <section name="siteMap" type="System.Web.Configuration.SiteMapSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
50
+ <section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
51
+ <section name="trust" type="System.Web.Configuration.TrustSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
52
+ <section name="urlMappings" type="System.Web.Configuration.UrlMappingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
53
+ <section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
54
+ <section name="webParts" type="System.Web.Configuration.WebPartsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
55
+ <section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
56
+ <section name="xhtmlConformance" type="System.Web.Configuration.XhtmlConformanceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
57
+ <sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
58
+ <section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
59
+ <section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
60
+ <section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
61
+ <section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
62
+ </sectionGroup>
63
+ <section name="monoSettings" type="System.Web.Configuration.MonoSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
64
+ </sectionGroup>
65
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
66
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
67
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
68
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
69
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
70
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
71
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
72
+ <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
73
+ </sectionGroup>
74
+ </sectionGroup>
75
+ </sectionGroup>
76
+ <sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
77
+ <section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
78
+ <section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
79
+ <section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
80
+ <sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
81
+ <section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
82
+ </sectionGroup>
83
+ <section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
84
+ <section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
85
+ <section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
86
+ </sectionGroup>
87
+ <section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
88
+ <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
89
+ <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
90
+ <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
91
+ <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
92
+ <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
93
+ <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
94
+ <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
95
+ <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
96
+ <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
97
+ <section name="standardEndpoints" type="System.ServiceModel.Configuration.StandardEndpointsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
98
+ <section name="routing" type="System.ServiceModel.Routing.Configuration.RoutingSection, System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
99
+ <section name="protocolMapping" type="System.ServiceModel.Configuration.ProtocolMappingSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
100
+ </sectionGroup>
101
+ <sectionGroup name="system.transactions" type="System.Transactions.Configuration.TransactionsSectionGroup, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null">
102
+ <section name="defaultSettings" type="System.Transactions.Configuration.DefaultSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/>
103
+ <section name="machineSettings" type="System.Transactions.Configuration.MachineSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
104
+ </sectionGroup>
105
+ <section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
106
+ <section name="uri" type="System.Configuration.UriSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
107
+ <sectionGroup name="system.runtime.caching" type="System.Runtime.Caching.Configuration.CachingSectionGroup, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
108
+ <section name="memoryCache" type="System.Runtime.Caching.Configuration.MemoryCacheSection, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
109
+ </sectionGroup>
110
+ </configSections>
111
+
112
+ <connectionStrings>
113
+ <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
114
+ <add name="LocalSqliteServer" connectionString="Data Source=|DataDirectory|/aspnetdb.sqlite;version=3" providerName="Mono.Data.Sqlite"/>
115
+ </connectionStrings>
116
+
117
+ <configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
118
+ <providers>
119
+ <add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
120
+ description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
121
+ <add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
122
+ description="" useMachineProtection="true" keyEntropy="" />
123
+ </providers>
124
+ </configProtectedData>
125
+
126
+ <system.net>
127
+ <authenticationModules>
128
+ <add type="System.Net.BasicClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
129
+ <add type="System.Net.DigestClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
130
+ <add type="System.Net.NtlmClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
131
+ </authenticationModules>
132
+ <webRequestModules>
133
+ <add prefix="http" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
134
+ <add prefix="https" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
135
+ <add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
136
+ <add prefix="ftp" type="System.Net.FtpWebRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
137
+ </webRequestModules>
138
+ </system.net>
139
+
140
+ <system.runtime.remoting>
141
+ <application>
142
+ <channels>
143
+ <channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
144
+ <channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
145
+ <channel ref="ipc client" displayName="ipc client (delay loaded)" delayLoadAsClientChannel="true" />
146
+ </channels>
147
+ </application>
148
+ <channels>
149
+ <channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
150
+ <channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
151
+ <channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
152
+ <channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
153
+ <channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
154
+ <channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
155
+ <channel id="ipc" type="System.Runtime.Remoting.Channels.Ipc.IpcChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
156
+ <channel id="ipc client" type="System.Runtime.Remoting.Channels.Ipc.IpcClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
157
+ <channel id="ipc server" type="System.Runtime.Remoting.Channels.Ipc.IpcServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
158
+ </channels>
159
+ <channelSinkProviders>
160
+ <clientProviders>
161
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
162
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
163
+ </clientProviders>
164
+ <serverProviders>
165
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
166
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
167
+ <provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
168
+ </serverProviders>
169
+ </channelSinkProviders>
170
+ </system.runtime.remoting>
171
+
172
+ <appSettings>
173
+ <!--<add key="yourkey" value="your value" /> -->
174
+ <!--<remove key="a key defined higher in the hierarchy" /> -->
175
+ <!--<clear/> Removes all defined settings -->
176
+ </appSettings>
177
+ <system.diagnostics>
178
+ <trace autoflush="false" indentsize="4" />
179
+ </system.diagnostics>
180
+ <system.drawing>
181
+ </system.drawing>
182
+
183
+ <system.data>
184
+ <DbProviderFactories>
185
+ <add name="Mono Sqlite Data Provider" invariant="Mono.Data.SqliteClient"
186
+ description="Mono Framework Data Provider for SQLite (old version)"
187
+ type="Mono.Data.SqliteClient.SqliteFactory, Mono.Data.SqliteClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
188
+ <add name="Mono Sqlite Provider" invariant="Mono.Data.Sqlite"
189
+ description="Mono Framework Data Provider for SQLite (new version)"
190
+ type="Mono.Data.Sqlite.SqliteFactory, Mono.Data.Sqlite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
191
+ <add name="Odbc Data Provider" invariant="System.Data.Odbc"
192
+ description=".Net Framework Data Provider for Odbc"
193
+ type="System.Data.Odbc.OdbcFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
194
+ <add name="OleDb Data Provider" invariant="System.Data.OleDb"
195
+ description=".Net Framework Data Provider for OleDb"
196
+ type="System.Data.OleDb.OleDbFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
197
+ <add name="OracleClient Data Provider" invariant="System.Data.OracleClient"
198
+ description=".Net Framework Data Provider for Oracle"
199
+ type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
200
+ <add name="SqlClient Data Provider" invariant="System.Data.SqlClient"
201
+ description=".Net Framework Data Provider for SqlServer"
202
+ type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
203
+ <add name="Sybase Data Provider" invariant="Mono.Data.SybaseClient"
204
+ description=".Net Framework Data Provider for Sybase"
205
+ type="Mono.Data.SybaseClient.SybaseClientFactory, Mono.Data.SybaseClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
206
+ </DbProviderFactories>
207
+ </system.data>
208
+
209
+ <mscorlib>
210
+ <cryptographySettings>
211
+ <cryptoNameMapping>
212
+ <cryptoClasses>
213
+ <cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
214
+ <cryptoClass monoMD4="Mono.Security.Cryptography.MD4Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
215
+ </cryptoClasses>
216
+ <nameEntry name="MD2" class="monoMD2" />
217
+ <nameEntry name="MD4" class="monoMD4" />
218
+ </cryptoNameMapping>
219
+ <oidMap>
220
+ <oidEntry OID="1.2.840.113549.2.2" name="MD2" />
221
+ <oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
222
+ <oidEntry OID="1.2.840.113549.2.4" name="MD4" />
223
+ <oidEntry OID="1.2.840.113549.2.4" name="Mono.Security.Cryptography.MD4Managed" />
224
+ </oidMap>
225
+ </cryptographySettings>
226
+ </mscorlib>
227
+
228
+ <strongNames>
229
+ <pubTokenMapping>
230
+ <!-- ECMA key -->
231
+ <map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
232
+ <!-- Microsoft (final) key -->
233
+ <map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
234
+ <!-- Microsoft (Web Service Enhancement) key -->
235
+ <map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
236
+ <!-- IBM (DB2 Data Provider) key -->
237
+ <map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
238
+ <!-- Silverlight 2.0 key -->
239
+ <map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
240
+ <!-- XNA Framework key -->
241
+ <map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
242
+ </pubTokenMapping>
243
+ </strongNames>
244
+
245
+ <system.web>
246
+ <webServices>
247
+ <protocols>
248
+ <add name="HttpSoap"/>
249
+ <add name="HttpSoap12"/>
250
+ <add name="HttpPost"/>
251
+ <add name="HttpGet"/>
252
+ <add name="Documentation"/>
253
+ </protocols>
254
+ <conformanceWarnings>
255
+ <add name="BasicProfile1_1"/>
256
+ </conformanceWarnings>
257
+ <wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
258
+ </webServices>
259
+
260
+ <membership>
261
+ <providers>
262
+ <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
263
+ <!-- <add name="AspNetSqlMembershipProvider" type="Mainsoft.Web.Security.GenericMembershipProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
264
+ </providers>
265
+ </membership>
266
+
267
+ <roleManager>
268
+ <providers>
269
+ <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="LocalSqlServer" />
270
+ <!-- <add name="AspNetSqlRoleProvider" type="Mainsoft.Web.Security.GenericRoleProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
271
+ </providers>
272
+ </roleManager>
273
+
274
+ <profile>
275
+ <providers>
276
+ <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
277
+ </providers>
278
+ </profile>
279
+ </system.web>
280
+
281
+
282
+ <system.serviceModel>
283
+ <extensions>
284
+ <behaviorExtensions>
285
+ <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
286
+ <add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
287
+ </behaviorExtensions>
288
+ <bindingElementExtensions>
289
+ <add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
290
+ </bindingElementExtensions>
291
+ <bindingExtensions>
292
+ <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
293
+ </bindingExtensions>
294
+ <endpointExtensions>
295
+ <add name="dynamicEndpoint" type="System.ServiceModel.Discovery.Configuration.DynamicEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
296
+ <add name="discoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.DiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
297
+ <add name="udpDiscoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpDiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
298
+ <add name="announcementEndpoint" type="System.ServiceModel.Discovery.Configuration.AnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
299
+ <add name="udpAnnouncementEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpAnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
300
+ <add name="webHttpEndpoint" type="System.ServiceModel.Configuration.WebHttpEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
301
+ <add name="webScriptEndpoint" type="System.ServiceModel.Configuration.WebScriptEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
302
+ </endpointExtensions>
303
+ </extensions>
304
+ </system.serviceModel>
305
+ </configuration>
306
+
307
+
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/settings.map ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <settingsMap>
3
+ <map sectionType="System.Web.Configuration.MembershipSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
4
+ mapperType="Mono.Web.Util.MembershipSectionMapper, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
5
+ platform="Unix">
6
+
7
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
8
+ any expression understood by the mapper to designate the section region to modify.
9
+ -->
10
+ <what value="providers">
11
+ <!-- 'what' can contain any number of occurrences of any three elements:
12
+ replace - replace the designated region
13
+ add - add a new entry to the region
14
+ clear - clear the region
15
+ remove - remove the designatedregion
16
+
17
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
18
+ mapper to peruse.
19
+ -->
20
+ <replace name="AspNetSqlMembershipProvider"
21
+ type="System.Web.Security.SqliteMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
22
+ connectionStringName="LocalSqliteServer" />
23
+ </what>
24
+ </map>
25
+
26
+ <map sectionType="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
27
+ mapperType="Mono.Web.Util.RoleManagerSectionMapper, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
28
+ platform="Unix">
29
+
30
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
31
+ any expression understood by the mapper to designate the section region to modify.
32
+ -->
33
+ <what value="providers">
34
+ <!-- 'what' can contain any number of occurrences of any three elements:
35
+ replace - replace the designated region
36
+ add - add a new entry to the region
37
+ clear - clear the region
38
+ remove - remove the designatedregion
39
+
40
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
41
+ mapper to peruse.
42
+ -->
43
+ <replace name="AspNetSqlRoleProvider"
44
+ type="System.Web.Security.SqliteRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
45
+ connectionStringName="LocalSqliteServer" />
46
+ </what>
47
+ </map>
48
+ </settingsMap>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.0/web.config ADDED
@@ -0,0 +1,252 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <configuration>
4
+
5
+ <system.codedom>
6
+ <compilers>
7
+ <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
8
+ <providerOption name="CompilerVersion" value="v4.0"/>
9
+ <providerOption name="WarnAsError" value="false"/>
10
+ </compiler>
11
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
12
+ <providerOption name="CompilerVersion" value="v4.0"/>
13
+ <providerOption name="OptionInfer" value="true"/>
14
+ <providerOption name="WarnAsError" value="false"/>
15
+ </compiler>
16
+ </compilers>
17
+ </system.codedom>
18
+
19
+ <system.web>
20
+ <monoSettings>
21
+ <compilersCompatibility>
22
+ <compiler language="c#;cs;csharp" extension=".cs" compilerOptions="/nowarn:0169"
23
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
24
+ </compilersCompatibility>
25
+ </monoSettings>
26
+
27
+ <authorization>
28
+ <allow users="*" />
29
+ </authorization>
30
+ <httpHandlers>
31
+ <add path="trace.axd" verb="*" type="System.Web.Handlers.TraceHandler" validate="True" />
32
+ <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />
33
+ <add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
34
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
35
+ <add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True" />
36
+ <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" />
37
+ <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" />
38
+ <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
39
+ <add path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" />
40
+ <add path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" />
41
+ <add path="*.asax" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
42
+ <add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
43
+ <add path="*.master" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
44
+ <add path="*.skin" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
45
+ <add path="*.browser" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
46
+ <add path="*.sitemap" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
47
+ <add path="*.dll.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
48
+ <add path="*.exe.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
49
+ <add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
50
+ <add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
51
+ <add path="*.csproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
52
+ <add path="*.vb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
53
+ <add path="*.vbproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
54
+ <add path="*.webinfo" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
55
+ <add path="*.licx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
56
+ <add path="*.resx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
57
+ <add path="*.resources" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
58
+ <add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
59
+ <add path="*.vjsproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
60
+ <add path="*.java" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
61
+ <add path="*.jsl" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
62
+ <add path="*.ldb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
63
+ <add path="*.ad" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
64
+ <add path="*.dd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
65
+ <add path="*.ldd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
66
+ <add path="*.sd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
67
+ <add path="*.cd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
68
+ <add path="*.adprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
69
+ <add path="*.lddprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
70
+ <add path="*.sdm" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
71
+ <add path="*.sdmDocument" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
72
+ <add path="*.mdf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
73
+ <add path="*.ldf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
74
+ <add path="*.exclude" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
75
+ <add path="*.refresh" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
76
+ <!--
77
+ <add path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
78
+ -->
79
+ <add verb="*" path="*.svc" type="System.ServiceModel.Channels.SvcHttpHandlerFactory, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
80
+ <add path="*.rules" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/>
81
+ <!--
82
+ <add path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
83
+ <add path="*.xamlx" verb="*" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
84
+ -->
85
+ <add path="*" verb="GET,HEAD,POST" type="System.Web.DefaultHttpHandler" validate="True" />
86
+ <add path="*" verb="*" type="System.Web.HttpMethodNotAllowedHandler" validate="True" />
87
+ </httpHandlers>
88
+ <httpModules>
89
+ <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
90
+ <add name="Session" type="System.Web.SessionState.SessionStateModule" />
91
+ <!--
92
+ <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
93
+ -->
94
+ <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
95
+ <!--
96
+ <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule" />
97
+ -->
98
+ <add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
99
+ <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
100
+ <!--
101
+ <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" />
102
+ -->
103
+ <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" />
104
+ <add name="Profile" type="System.Web.Profile.ProfileModule" />
105
+ <!--
106
+ <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
107
+ <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
108
+ -->
109
+ <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />
110
+ <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
111
+ </httpModules>
112
+ <authentication mode="Forms">
113
+ <forms name=".MONOAUTH" loginUrl="login.aspx" protection="All" timeout="30" path="/">
114
+ <credentials passwordFormat="Clear">
115
+ </credentials>
116
+ </forms>
117
+ </authentication>
118
+ <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" />
119
+ <globalization requestEncoding="utf-8"
120
+ responseEncoding="utf-8"
121
+ fileEncoding="utf-8"/>
122
+ <!--
123
+ culture="en-US"
124
+ uiculture="en-US" />
125
+ -->
126
+ <sessionState mode="InProc" />
127
+ <pages>
128
+ <namespaces>
129
+ <add namespace="System" />
130
+ <add namespace="System.Collections" />
131
+ <add namespace="System.Collections.Specialized" />
132
+ <add namespace="System.Configuration" />
133
+ <add namespace="System.Text" />
134
+ <add namespace="System.Text.RegularExpressions" />
135
+ <add namespace="System.Web" />
136
+ <add namespace="System.Web.Caching" />
137
+ <add namespace="System.Web.SessionState" />
138
+ <add namespace="System.Web.Security" />
139
+ <add namespace="System.Web.Profile" />
140
+ <add namespace="System.Web.UI" />
141
+ <add namespace="System.Web.UI.WebControls" />
142
+ <!-- <add namespace="System.Web.UI.WebControls.WebParts" /> -->
143
+ <add namespace="System.Web.UI.HtmlControls" />
144
+ </namespaces>
145
+
146
+ <controls>
147
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls.WebParts" assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
148
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
149
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
150
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls.Expressions" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
151
+ <add tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
152
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
153
+ </controls>
154
+ </pages>
155
+ <webControls clientScriptsLocation="/web_scripts" />
156
+ <compilation debug="false" defaultLanguage="c#" explicit="true" strict="false" >
157
+ <assemblies>
158
+ <add assembly="mscorlib" />
159
+ <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
160
+ <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
161
+ <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
162
+ <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
163
+ <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
164
+ <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
165
+ <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
166
+ <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
167
+ <add assembly="System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
168
+ <!-- <add assembly="System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> -->
169
+ <add assembly="System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
170
+ <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
171
+ <add assembly="System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
172
+ <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
173
+ <!-- <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
174
+ <!-- <add assembly="System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
175
+ <add assembly="System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
176
+ <!-- <add assembly="System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
177
+ <!-- <add assembly="System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
178
+ <!-- <add assembly="System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
179
+ <!-- <add assembly="System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
180
+ <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
181
+ <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
182
+ <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
183
+ <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
184
+ <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
185
+ <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
186
+ <!-- <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
187
+ <!-- <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> -->
188
+ <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
189
+ <!-- <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
190
+ <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
191
+ <add assembly="*" /> <!-- Add assemblies in bin directory -->
192
+ </assemblies>
193
+ <expressionBuilders>
194
+ <add expressionPrefix="Resources"
195
+ type="System.Web.Compilation.ResourceExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
196
+ <add expressionPrefix="ConnectionStrings"
197
+ type="System.Web.Compilation.ConnectionStringsExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
198
+ <add expressionPrefix="AppSettings"
199
+ type="System.Web.Compilation.AppSettingsExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
200
+ <add expressionPrefix="RouteUrl" type="System.Web.Compilation.RouteUrlExpressionBuilder"/>
201
+ <!--
202
+ <add expressionPrefix="RouteValue" type="System.Web.Compilation.RouteValueExpressionBuilder"/>
203
+ -->
204
+ </expressionBuilders>
205
+ <buildProviders>
206
+ <add extension=".aspx" type="System.Web.Compilation.PageBuildProvider" />
207
+ <add extension=".ascx" type="System.Web.Compilation.UserControlBuildProvider" />
208
+ <add extension=".master" type="System.Web.Compilation.MasterPageBuildProvider" />
209
+ <add extension=".asmx" type="System.Web.Compilation.WebServiceBuildProvider" />
210
+ <add extension=".ashx" type="System.Web.Compilation.WebHandlerBuildProvider" />
211
+ <add extension=".soap" type="System.Web.Compilation.WebServiceBuildProvider" />
212
+ <add extension=".resx" type="System.Web.Compilation.ResXBuildProvider" />
213
+ <add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider" />
214
+ <add extension=".wsdl" type="System.Web.Compilation.WsdlBuildProvider" />
215
+ <add extension=".xsd" type="System.Web.Compilation.XsdBuildProvider" />
216
+ <add extension=".js" type="System.Web.Compilation.ForceCopyBuildProvider" />
217
+ <add extension=".lic" type="System.Web.Compilation.IgnoreFileBuildProvider" />
218
+ <add extension=".licx" type="System.Web.Compilation.IgnoreFileBuildProvider" />
219
+ <add extension=".exclude" type="System.Web.Compilation.IgnoreFileBuildProvider" />
220
+ <add extension=".refresh" type="System.Web.Compilation.IgnoreFileBuildProvider" />
221
+ <!--
222
+ <add extension=".edmx" type="System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider" />
223
+ <add extension=".xoml" type="System.ServiceModel.Activation.WorkflowServiceBuildProvider, System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
224
+ <add extension=".svc" type="System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
225
+ <add extension=".xamlx" type="System.Xaml.Hosting.XamlBuildProvider, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
226
+ -->
227
+ </buildProviders>
228
+ </compilation>
229
+ <httpRuntime executionTimeout="110"
230
+ maxRequestLength="4096"
231
+ useFullyQualifiedRedirectUrl="false"
232
+ minFreeThreads="8"
233
+ minLocalRequestFreeThreads="4"
234
+ appRequestQueueLimit="5000" />
235
+ <clientTarget>
236
+ <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
237
+ <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
238
+ <add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
239
+ <add alias="downlevel" userAgent="Unknown" />
240
+ </clientTarget>
241
+
242
+ <siteMap>
243
+ <providers>
244
+ <add name="AspNetXmlSiteMapProvider"
245
+ description="Default site map provider that reads in .sitemap xml files."
246
+ type="System.Web.XmlSiteMapProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
247
+ siteMapFile="Web.sitemap" />
248
+ </providers>
249
+ </siteMap>
250
+ </system.web>
251
+
252
+ </configuration>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/Browsers/Compat.browser ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--
2
+ This file defines some of the browsers that Microsoft's implementation provides in
3
+ <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers\*.browser
4
+
5
+ It is not derived from any file distributed with Microsoft's implementation. Since
6
+ we can't distribute MS's browser files, we use browscap.ini to determine
7
+ browser capabilities. Then, if and only if the application contains App_Browser/*.browser
8
+ files and we are using .NET 2.0 or higher, we supplement the capabilities with the
9
+ information in those files and the files in this directory. The primary goal of this file
10
+ is provide browser definitions that might be referenced in App_Browser/*.browser files.
11
+ -->
12
+ <browsers>
13
+ <defaultBrowser id="Default">
14
+ </defaultBrowser>
15
+ <browser id="Default">
16
+ <identification>
17
+ <userAgent match="." />
18
+ </identification>
19
+ </browser>
20
+ <browser id="IE6to9" parentID="Default">
21
+ <identification>
22
+ <capability name="majorver" match="^[6-9]" />
23
+ <capability name="browser" match="^(IE|AOL)$" />
24
+ </identification>
25
+ </browser>
26
+ <browser id="Opera8to9" parentID="Default">
27
+ <identification>
28
+ <capability name="majorver" match="^[8-9]" />
29
+ <capability name="browser" match="^Opera$" />
30
+ </identification>
31
+ </browser>
32
+ <browser id="Safari" parentID="Default">
33
+ <identification>
34
+ <capability name="browser" match="^Safari$" />
35
+ </identification>
36
+ </browser>
37
+ <browser id="Mozilla" parentID="Default">
38
+ <identification>
39
+ <capability name="browser" match="^Mozilla" />
40
+ </identification>
41
+ </browser>
42
+ </browsers>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/DefaultWsdlHelpGenerator.aspx ADDED
@@ -0,0 +1,1901 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <%--
2
+ //
3
+ // DefaultWsdlHelpGenerator.aspx:
4
+ //
5
+ // Author:
6
+ // Lluis Sanchez Gual ([email protected])
7
+ //
8
+ // (C) 2003 Ximian, Inc. http://www.ximian.com
9
+ //
10
+ --%>
11
+
12
+ <%@ Import Namespace="System.Collections" %>
13
+ <%@ Import Namespace="System.Collections.Generic" %>
14
+ <%@ Import Namespace="System.IO" %>
15
+ <%@ Import Namespace="System.Xml.Serialization" %>
16
+ <%@ Import Namespace="System.Xml" %>
17
+ <%@ Import Namespace="System.Xml.Schema" %>
18
+ <%@ Import Namespace="System.Web.Services" %>
19
+ <%@ Import Namespace="System.Web.Services.Description" %>
20
+ <%@ Import Namespace="System.Web.Services.Configuration" %>
21
+ <%@ Import Namespace="System.Web.Configuration" %>
22
+ <%@ Import Namespace="System" %>
23
+ <%@ Import Namespace="System.Net" %>
24
+ <%@ Import Namespace="System.Globalization" %>
25
+ <%@ Import Namespace="System.Resources" %>
26
+ <%@ Import Namespace="System.Diagnostics" %>
27
+ <%@ Import Namespace="System.CodeDom" %>
28
+ <%@ Import Namespace="System.CodeDom.Compiler" %>
29
+ <%@ Import Namespace="Microsoft.CSharp" %>
30
+ <%@ Import Namespace="Microsoft.VisualBasic" %>
31
+ <%@ Import Namespace="System.Text" %>
32
+ <%@ Import Namespace="System.Text.RegularExpressions" %>
33
+ <%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
34
+ <%@ Assembly name="System.Web.Services" %>
35
+ <%@ Page debug="true" %>
36
+
37
+ <html>
38
+ <script language="C#" runat="server">
39
+
40
+ ServiceDescriptionCollection descriptions;
41
+ XmlSchemas schemas;
42
+
43
+ string WebServiceName;
44
+ string WebServiceDescription;
45
+ string PageName;
46
+
47
+ string DefaultBinding;
48
+ ArrayList ServiceProtocols;
49
+
50
+ string CurrentOperationName;
51
+ string CurrentOperationBinding;
52
+ string OperationDocumentation;
53
+ string CurrentOperationFormat;
54
+ bool CurrentOperationSupportsTest;
55
+ ArrayList InParams;
56
+ ArrayList OutParams;
57
+ string CurrentOperationProtocols;
58
+ int CodeTextColumns = 95;
59
+ BasicProfileViolationCollection ProfileViolations;
60
+
61
+ void Page_Load(object sender, EventArgs e)
62
+ {
63
+ descriptions = (ServiceDescriptionCollection) Context.Items["wsdls"];
64
+ schemas = (XmlSchemas) Context.Items["schemas"];
65
+
66
+ ServiceDescription desc = descriptions [0];
67
+ if (schemas.Count == 0) schemas = desc.Types.Schemas;
68
+
69
+ Service service = desc.Services[0];
70
+ WebServiceName = service.Name;
71
+ if (desc.Bindings.Count == 0)
72
+ return;
73
+
74
+ DefaultBinding = desc.Bindings[0].Name;
75
+ WebServiceDescription = service.Documentation;
76
+ if (WebServiceDescription == "" || WebServiceDescription == null)
77
+ WebServiceDescription = "Description has not been provided";
78
+ ServiceProtocols = FindServiceProtocols (null);
79
+
80
+ CurrentOperationName = Request.QueryString["op"];
81
+ CurrentOperationBinding = Request.QueryString["bnd"];
82
+ if (CurrentOperationName != null) BuildOperationInfo ();
83
+
84
+ PageName = HttpUtility.UrlEncode (Path.GetFileName(Request.Path), Encoding.UTF8);
85
+
86
+ ArrayList list = new ArrayList ();
87
+ foreach (ServiceDescription sd in descriptions) {
88
+ foreach (Binding bin in sd.Bindings)
89
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null) list.Add (bin);
90
+ }
91
+
92
+ BindingsRepeater.DataSource = list;
93
+ Page.DataBind();
94
+
95
+ ProfileViolations = new BasicProfileViolationCollection ();
96
+ foreach (WsiProfilesElement claims in ((WebServicesSection) WebConfigurationManager.GetSection("system.web/webServices")).ConformanceWarnings)
97
+ if (claims.Name != WsiProfiles.None)
98
+ WebServicesInteroperability.CheckConformance (claims.Name, descriptions, ProfileViolations);
99
+ }
100
+
101
+ void BuildOperationInfo ()
102
+ {
103
+ InParams = new ArrayList ();
104
+ OutParams = new ArrayList ();
105
+
106
+ Port port = FindPort (CurrentOperationBinding, null);
107
+ Binding binding = descriptions.GetBinding (port.Binding);
108
+
109
+ PortType portType = descriptions.GetPortType (binding.Type);
110
+ Operation oper = FindOperation (portType, CurrentOperationName);
111
+
112
+ OperationDocumentation = oper.Documentation;
113
+ if (OperationDocumentation == null || OperationDocumentation == "")
114
+ OperationDocumentation = "No additional remarks";
115
+
116
+ foreach (OperationMessage opm in oper.Messages)
117
+ {
118
+ if (opm is OperationInput)
119
+ BuildParameters (InParams, opm);
120
+ else if (opm is OperationOutput)
121
+ BuildParameters (OutParams, opm);
122
+ }
123
+
124
+ // Protocols supported by the operation
125
+ CurrentOperationProtocols = "";
126
+ WebServiceProtocols testProtocols = 0;
127
+ ArrayList prots = FindServiceProtocols (CurrentOperationName);
128
+ for (int n=0; n<prots.Count; n++) {
129
+ string prot = (string) prots [n];
130
+ if (n != 0) CurrentOperationProtocols += ", ";
131
+ CurrentOperationProtocols += prot;
132
+ if (prot == "HttpGet")
133
+ testProtocols |= WebServiceProtocols.HttpGet;
134
+ else if (prot == "HttpPost") {
135
+ testProtocols |= WebServiceProtocols.HttpPost;
136
+ if (Context.Request.IsLocal)
137
+ testProtocols |= WebServiceProtocols.HttpPostLocalhost;
138
+ }
139
+ }
140
+ CurrentOperationSupportsTest = (WebServicesSection.Current.EnabledProtocols & testProtocols) != 0;
141
+
142
+ // Operation format
143
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
144
+ if (obin != null)
145
+ CurrentOperationFormat = GetOperationFormat (obin);
146
+
147
+ InputParamsRepeater.DataSource = InParams;
148
+ InputFormParamsRepeater.DataSource = InParams;
149
+ OutputParamsRepeater.DataSource = OutParams;
150
+ }
151
+
152
+ void BuildParameters (ArrayList list, OperationMessage opm)
153
+ {
154
+ Message msg = descriptions.GetMessage (opm.Message);
155
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
156
+ {
157
+ MessagePart part = msg.Parts[0];
158
+ XmlSchemaComplexType ctype;
159
+ if (part.Element == XmlQualifiedName.Empty)
160
+ {
161
+ ctype = (XmlSchemaComplexType) schemas.Find (part.Type, typeof(XmlSchemaComplexType));
162
+ }
163
+ else
164
+ {
165
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
166
+ ctype = (XmlSchemaComplexType) elem.SchemaType;
167
+ }
168
+ XmlSchemaSequence seq = ctype.Particle as XmlSchemaSequence;
169
+ if (seq == null) return;
170
+
171
+ foreach (XmlSchemaObject ob in seq.Items)
172
+ {
173
+ Parameter p = new Parameter();
174
+ p.Description = "No additional remarks";
175
+
176
+ if (ob is XmlSchemaElement)
177
+ {
178
+ XmlSchemaElement selem = GetRefElement ((XmlSchemaElement)ob);
179
+ p.Name = selem.Name;
180
+ p.Type = selem.SchemaTypeName.Name;
181
+ }
182
+ else
183
+ {
184
+ p.Name = "Unknown";
185
+ p.Type = "Unknown";
186
+ }
187
+ list.Add (p);
188
+ }
189
+ }
190
+ else
191
+ {
192
+ foreach (MessagePart part in msg.Parts)
193
+ {
194
+ Parameter p = new Parameter ();
195
+ p.Description = "No additional remarks";
196
+ p.Name = part.Name;
197
+ if (part.Element == XmlQualifiedName.Empty)
198
+ p.Type = part.Type.Name;
199
+ else
200
+ {
201
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
202
+ p.Type = elem.SchemaTypeName.Name;
203
+ }
204
+ list.Add (p);
205
+ }
206
+ }
207
+ }
208
+
209
+ string GetOperationFormat (OperationBinding obin)
210
+ {
211
+ string format = "";
212
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
213
+ if (sob != null) {
214
+ format = sob.Style.ToString ();
215
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
216
+ if (sbb != null)
217
+ format += " / " + sbb.Use;
218
+ }
219
+ return format;
220
+ }
221
+
222
+ XmlSchemaElement GetRefElement (XmlSchemaElement elem)
223
+ {
224
+ if (!elem.RefName.IsEmpty)
225
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
226
+ else
227
+ return elem;
228
+ }
229
+
230
+ ArrayList FindServiceProtocols(string operName)
231
+ {
232
+ ArrayList table = new ArrayList ();
233
+ Service service = descriptions[0].Services[0];
234
+ foreach (Port port in service.Ports)
235
+ {
236
+ string prot = null;
237
+ Binding bin = descriptions.GetBinding (port.Binding);
238
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null)
239
+ prot = "Soap";
240
+ else
241
+ {
242
+ HttpBinding hb = (HttpBinding) bin.Extensions.Find (typeof(HttpBinding));
243
+ if (hb != null && hb.Verb == "POST") prot = "HttpPost";
244
+ else if (hb != null && hb.Verb == "GET") prot = "HttpGet";
245
+ }
246
+
247
+ if (prot != null && operName != null)
248
+ {
249
+ if (FindOperation (bin, operName) == null)
250
+ prot = null;
251
+ }
252
+
253
+ if (prot != null && !table.Contains (prot))
254
+ table.Add (prot);
255
+ }
256
+ return table;
257
+ }
258
+
259
+ Port FindPort (string portName, string protocol)
260
+ {
261
+ Service service = descriptions[0].Services[0];
262
+ foreach (Port port in service.Ports)
263
+ {
264
+ if (portName == null)
265
+ {
266
+ Binding binding = descriptions.GetBinding (port.Binding);
267
+ if (GetProtocol (binding) == protocol) return port;
268
+ }
269
+ else if (port.Name == portName)
270
+ return port;
271
+ }
272
+ return null;
273
+ }
274
+
275
+ string GetProtocol (Binding binding)
276
+ {
277
+ if (binding.Extensions.Find (typeof(SoapBinding)) != null) return "Soap";
278
+ HttpBinding hb = (HttpBinding) binding.Extensions.Find (typeof(HttpBinding));
279
+ if (hb == null) return "";
280
+ if (hb.Verb == "POST") return "HttpPost";
281
+ if (hb.Verb == "GET") return "HttpGet";
282
+ return "";
283
+ }
284
+
285
+
286
+ Operation FindOperation (PortType portType, string name)
287
+ {
288
+ foreach (Operation oper in portType.Operations) {
289
+ if (oper.Messages.Input.Name != null) {
290
+ if (oper.Messages.Input.Name == name) return oper;
291
+ }
292
+ else
293
+ if (oper.Name == name) return oper;
294
+ }
295
+
296
+ return null;
297
+ }
298
+
299
+ OperationBinding FindOperation (Binding binding, string name)
300
+ {
301
+ foreach (OperationBinding oper in binding.Operations) {
302
+ if (oper.Input.Name != null) {
303
+ if (oper.Input.Name == name) return oper;
304
+ }
305
+ else
306
+ if (oper.Name == name) return oper;
307
+ }
308
+
309
+ return null;
310
+ }
311
+
312
+ string FormatBindingName (string name)
313
+ {
314
+ if (name == DefaultBinding) return "Methods";
315
+ else return "Methods for binding<br>" + name;
316
+ }
317
+
318
+ string GetOpName (object op)
319
+ {
320
+ OperationBinding ob = op as OperationBinding;
321
+ if (ob == null) return "";
322
+ if (ob.Input.Name != null) return ob.Input.Name;
323
+ else return ob.Name;
324
+ }
325
+
326
+ bool HasFormResult
327
+ {
328
+ get { return Request.QueryString ["ext"] == "testform"; }
329
+ }
330
+
331
+ class NoCheckCertificatePolicy : ICertificatePolicy {
332
+ public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
333
+ {
334
+ return true;
335
+ }
336
+ }
337
+
338
+ string GetOrPost ()
339
+ {
340
+ return (CurrentOperationProtocols.IndexOf ("HttpGet") >= 0) ? "GET" : "POST";
341
+ }
342
+
343
+ string GetQS ()
344
+ {
345
+ bool fill = false;
346
+ string qs = "";
347
+ NameValueCollection query_string = Request.QueryString;
348
+ for (int n = 0; n < query_string.Count; n++) {
349
+ if (fill) {
350
+ if (qs != "") qs += "&";
351
+ qs += query_string.GetKey(n) + "=" + Server.UrlEncode (query_string [n]);
352
+ }
353
+ if (query_string.GetKey(n) == "ext") fill = true;
354
+ }
355
+
356
+ return qs;
357
+ }
358
+
359
+ string GetTestResultUrl ()
360
+ {
361
+ if (!HasFormResult) return "";
362
+
363
+ string location = null;
364
+ ServiceDescription desc = descriptions [0];
365
+ Service service = desc.Services[0];
366
+ foreach (Port port in service.Ports)
367
+ if (port.Name == CurrentOperationBinding)
368
+ {
369
+ SoapAddressBinding sbi = (SoapAddressBinding) port.Extensions.Find (typeof(SoapAddressBinding));
370
+ if (sbi != null)
371
+ location = sbi.Location;
372
+ }
373
+
374
+ if (location == null)
375
+ return "Could not locate web service";
376
+
377
+ return location + "/" + CurrentOperationName;
378
+ }
379
+
380
+ string GenerateOperationMessages (string protocol, bool generateInput)
381
+ {
382
+ if (!IsOperationSupported (protocol)) return "";
383
+
384
+ Port port;
385
+ if (protocol != "Soap") port = FindPort (null, protocol);
386
+ else port = FindPort (CurrentOperationBinding, null);
387
+
388
+ Binding binding = descriptions.GetBinding (port.Binding);
389
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
390
+ PortType portType = descriptions.GetPortType (binding.Type);
391
+ Operation oper = FindOperation (portType, CurrentOperationName);
392
+
393
+ HtmlSampleGenerator sg = new HtmlSampleGenerator (descriptions, schemas);
394
+ string txt = sg.GenerateMessage (port, obin, oper, protocol, generateInput);
395
+ if (protocol == "Soap") txt = WrapText (txt,CodeTextColumns);
396
+ txt = ColorizeXml (txt);
397
+ txt = txt.Replace ("@placeholder!","<span class='literal-placeholder'>");
398
+ txt = txt.Replace ("!placeholder@","</span>");
399
+ return txt;
400
+ }
401
+
402
+ bool IsOperationSupported (string protocol)
403
+ {
404
+ if (CurrentPage != "op" || CurrentTab != "msg") return false;
405
+ if (protocol == "Soap") return true;
406
+
407
+ Port port = FindPort (null, protocol);
408
+ if (port == null) return false;
409
+ Binding binding = descriptions.GetBinding (port.Binding);
410
+ if (binding == null) return false;
411
+ return FindOperation (binding, CurrentOperationName) != null;
412
+ }
413
+
414
+ //
415
+ // Proxy code generation
416
+ //
417
+
418
+ string GetProxyCode ()
419
+ {
420
+ CodeNamespace codeNamespace = new CodeNamespace();
421
+ CodeCompileUnit codeUnit = new CodeCompileUnit();
422
+
423
+ codeUnit.Namespaces.Add (codeNamespace);
424
+
425
+ ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
426
+
427
+ foreach (ServiceDescription sd in descriptions)
428
+ importer.AddServiceDescription(sd, null, null);
429
+
430
+ foreach (XmlSchema sc in schemas)
431
+ importer.Schemas.Add (sc);
432
+
433
+ importer.Import(codeNamespace, codeUnit);
434
+
435
+ string langId = Request.QueryString ["lang"];
436
+ if (langId == null || langId == "") langId = "cs";
437
+ CodeDomProvider provider = GetProvider (langId);
438
+ ICodeGenerator generator = provider.CreateGenerator();
439
+ CodeGeneratorOptions options = new CodeGeneratorOptions();
440
+
441
+ StringWriter sw = new StringWriter ();
442
+ generator.GenerateCodeFromCompileUnit(codeUnit, sw, options);
443
+
444
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), langId);
445
+ }
446
+
447
+ public string CurrentLanguage
448
+ {
449
+ get {
450
+ string langId = Request.QueryString ["lang"];
451
+ if (langId == null || langId == "") langId = "cs";
452
+ return langId;
453
+ }
454
+ }
455
+
456
+ public string CurrentProxytName
457
+ {
458
+ get {
459
+ string lan = CurrentLanguage == "cs" ? "C#" : "Visual Basic";
460
+ return lan + " Client Proxy";
461
+ }
462
+ }
463
+
464
+ private CodeDomProvider GetProvider(string langId)
465
+ {
466
+ switch (langId.ToUpper())
467
+ {
468
+ case "CS": return new CSharpCodeProvider();
469
+ case "VB": return new VBCodeProvider();
470
+ default: return null;
471
+ }
472
+ }
473
+
474
+ //
475
+ // Document generation
476
+ //
477
+ class UTF8StringWriter : StringWriter {
478
+ public override Encoding Encoding {
479
+ get { return Encoding.UTF8; }
480
+ }
481
+ }
482
+
483
+ string GenerateDocument ()
484
+ {
485
+ UTF8StringWriter sw = new UTF8StringWriter ();
486
+
487
+ if (CurrentDocType == "wsdl")
488
+ descriptions [CurrentDocInd].Write (sw);
489
+ else if (CurrentDocType == "schema")
490
+ schemas [CurrentDocInd].Write (sw);
491
+
492
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), "xml");
493
+ }
494
+
495
+ public string CurrentDocType
496
+ {
497
+ get { return Request.QueryString ["doctype"] != null ? Request.QueryString ["doctype"] : "wsdl"; }
498
+ }
499
+
500
+ public int CurrentDocInd
501
+ {
502
+ get { return Request.QueryString ["docind"] != null ? int.Parse (Request.QueryString ["docind"]) : 0; }
503
+ }
504
+
505
+ public string CurrentDocumentName
506
+ {
507
+ get {
508
+ if (CurrentDocType == "wsdl")
509
+ return "WSDL document for namespace \"" + descriptions [CurrentDocInd].TargetNamespace + "\"";
510
+ else
511
+ return "Xml Schema for namespace \"" + schemas [CurrentDocInd].TargetNamespace + "\"";
512
+ }
513
+ }
514
+
515
+ //
516
+ // Pages and tabs
517
+ //
518
+
519
+ bool firstTab = true;
520
+ ArrayList disabledTabs = new ArrayList ();
521
+
522
+ string CurrentTab
523
+ {
524
+ get { return Request.QueryString["tab"] != null ? Request.QueryString["tab"] : "main" ; }
525
+ }
526
+
527
+ string CurrentPage
528
+ {
529
+ get { return Request.QueryString["page"] != null ? Request.QueryString["page"] : "main" ; }
530
+ }
531
+
532
+ void WriteTabs ()
533
+ {
534
+ if (CurrentOperationName != null)
535
+ {
536
+ WriteTab ("main","Overview");
537
+ WriteTab ("test","Test Form");
538
+ WriteTab ("msg","Message Layout");
539
+ }
540
+ }
541
+
542
+ void WriteTab (string id, string label)
543
+ {
544
+ if (!firstTab) Response.Write("&nbsp;|&nbsp;");
545
+ firstTab = false;
546
+
547
+ string cname = CurrentTab == id ? "tabLabelOn" : "tabLabelOff";
548
+ Response.Write ("<a href='" + PageName + "?" + GetPageContext(null) + GetDataContext() + "tab=" + id + "' style='text-decoration:none'>");
549
+ Response.Write ("<span class='" + cname + "'>" + label + "</span>");
550
+ Response.Write ("</a>");
551
+ }
552
+
553
+ string GetTabContext (string pag, string tab)
554
+ {
555
+ if (tab == null) tab = CurrentTab;
556
+ if (pag == null) pag = CurrentPage;
557
+ if (pag != CurrentPage) tab = "main";
558
+ return "page=" + pag + "&tab=" + tab + "&";
559
+ }
560
+
561
+ string GetPageContext (string pag)
562
+ {
563
+ if (pag == null) pag = CurrentPage;
564
+ return "page=" + pag + "&";
565
+ }
566
+
567
+ class Tab
568
+ {
569
+ public string Id;
570
+ public string Label;
571
+ }
572
+
573
+ //
574
+ // Syntax coloring
575
+ //
576
+
577
+ static string keywords_cs =
578
+ "(\\babstract\\b|\\bevent\\b|\\bnew\\b|\\bstruct\\b|\\bas\\b|\\bexplicit\\b|\\bnull\\b|\\bswitch\\b|\\bbase\\b|\\bextern\\b|" +
579
+ "\\bobject\\b|\\bthis\\b|\\bbool\\b|\\bfalse\\b|\\boperator\\b|\\bthrow\\b|\\bbreak\\b|\\bfinally\\b|\\bout\\b|\\btrue\\b|" +
580
+ "\\bbyte\\b|\\bfixed\\b|\\boverride\\b|\\btry\\b|\\bcase\\b|\\bfloat\\b|\\bparams\\b|\\btypeof\\b|\\bcatch\\b|\\bfor\\b|" +
581
+ "\\bprivate\\b|\\buint\\b|\\bchar\\b|\\bforeach\\b|\\bprotected\\b|\\bulong\\b|\\bchecked\\b|\\bgoto\\b|\\bpublic\\b|" +
582
+ "\\bunchecked\\b|\\bclass\\b|\\bif\\b|\\breadonly\\b|\\bunsafe\\b|\\bconst\\b|\\bimplicit\\b|\\bref\\b|\\bushort\\b|" +
583
+ "\\bcontinue\\b|\\bin\\b|\\breturn\\b|\\busing\\b|\\bdecimal\\b|\\bint\\b|\\bsbyte\\b|\\bvirtual\\b|\\bdefault\\b|" +
584
+ "\\binterface\\b|\\bsealed\\b|\\bvolatile\\b|\\bdelegate\\b|\\binternal\\b|\\bshort\\b|\\bvoid\\b|\\bdo\\b|\\bis\\b|" +
585
+ "\\bsizeof\\b|\\bwhile\\b|\\bdouble\\b|\\block\\b|\\bstackalloc\\b|\\belse\\b|\\blong\\b|\\bstatic\\b|\\benum\\b|" +
586
+ "\\bnamespace\\b|\\bstring\\b)";
587
+
588
+ static string keywords_vb =
589
+ "(\\bAddHandler\\b|\\bAddressOf\\b|\\bAlias\\b|\\bAnd\\b|\\bAndAlso\\b|\\bAnsi\\b|\\bAs\\b|\\bAssembly\\b|" +
590
+ "\\bAuto\\b|\\bBoolean\\b|\\bByRef\\b|\\bByte\\b|\\bByVal\\b|\\bCall\\b|\\bCase\\b|\\bCatch\\b|" +
591
+ "\\bCBool\\b|\\bCByte\\b|\\bCChar\\b|\\bCDate\\b|\\bCDec\\b|\\bCDbl\\b|\\bChar\\b|\\bCInt\\b|" +
592
+ "\\bClass\\b|\\bCLng\\b|\\bCObj\\b|\\bConst\\b|\\bCShort\\b|\\bCSng\\b|\\bCStr\\b|\\bCType\\b|" +
593
+ "\\bDate\\b|\\bDecimal\\b|\\bDeclare\\b|\\bDefault\\b|\\bDelegate\\b|\\bDim\\b|\\bDirectCast\\b|\\bDo\\b|" +
594
+ "\\bDouble\\b|\\bEach\\b|\\bElse\\b|\\bElseIf\\b|\\bEnd\\b|\\bEnum\\b|\\bErase\\b|\\bError\\b|" +
595
+ "\\bEvent\\b|\\bExit\\b|\\bFalse\\b|\\bFinally\\b|\\bFor\\b|\\bFriend\\b|\\bFunction\\b|\\bGet\\b|" +
596
+ "\\bGetType\\b|\\bGoSub\\b|\\bGoTo\\b|\\bHandles\\b|\\bIf\\b|\\bImplements\\b|\\bImports\\b|\\bIn\\b|" +
597
+ "\\bInherits\\b|\\bInteger\\b|\\bInterface\\b|\\bIs\\b|\\bLet\\b|\\bLib\\b|\\bLike\\b|\\bLong\\b|" +
598
+ "\\bLoop\\b|\\bMe\\b|\\bMod\\b|\\bModule\\b|\\bMustInherit\\b|\\bMustOverride\\b|\\bMyBase\\b|\\bMyClass\\b|" +
599
+ "\\bNamespace\\b|\\bNew\\b|\\bNext\\b|\\bNot\\b|\\bNothing\\b|\\bNotInheritable\\b|\\bNotOverridable\\b|\\bObject\\b|" +
600
+ "\\bOn\\b|\\bOption\\b|\\bOptional\\b|\\bOr\\b|\\bOrElse\\b|\\bOverloads\\b|\\bOverridable\\b|\\bOverrides\\b|" +
601
+ "\\bParamArray\\b|\\bPreserve\\b|\\bPrivate\\b|\\bProperty\\b|\\bProtected\\b|\\bPublic\\b|\\bRaiseEvent\\b|\\bReadOnly\\b|" +
602
+ "\\bReDim\\b|\\bREM\\b|\\bRemoveHandler\\b|\\bResume\\b|\\bReturn\\b|\\bSelect\\b|\\bSet\\b|\\bShadows\\b|" +
603
+ "\\bShared\\b|\\bShort\\b|\\bSingle\\b|\\bStatic\\b|\\bStep\\b|\\bStop\\b|\\bString\\b|\\bStructure\\b|" +
604
+ "\\bSub\\b|\\bSyncLock\\b|\\bThen\\b|\\bThrow\\b|\\bTo\\b|\\bTrue\\b|\\bTry\\b|\\bTypeOf\\b|" +
605
+ "\\bUnicode\\b|\\bUntil\\b|\\bVariant\\b|\\bWhen\\b|\\bWhile\\b|\\bWith\\b|\\bWithEvents\\b|\\bWriteOnly\\b|\\bXor\\b)";
606
+
607
+ string Colorize (string text, string lang)
608
+ {
609
+ if (lang == "xml") return ColorizeXml (text);
610
+ else if (lang == "cs") return ColorizeCs (text);
611
+ else if (lang == "vb") return ColorizeVb (text);
612
+ else return text;
613
+ }
614
+
615
+ string ColorizeXml (string text)
616
+ {
617
+ text = text.Replace (" ", "&nbsp;");
618
+ Regex re = new Regex ("\r\n|\r|\n");
619
+ text = re.Replace (text, "_br_");
620
+
621
+ re = new Regex ("<\\s*(\\/?)\\s*([\\s\\S]*?)\\s*(\\/?)\\s*>");
622
+ text = re.Replace (text,"{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
623
+
624
+ re = new Regex ("\\{(\\w*):([\\s\\S]*?)\\}");
625
+ text = re.Replace (text,"<span style='color:$1'>$2</span>");
626
+
627
+ re = new Regex ("\"(.*?)\"");
628
+ text = re.Replace (text,"\"<span style='color:purple'>$1</span>\"");
629
+
630
+
631
+ text = text.Replace ("\t", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
632
+ text = text.Replace ("_br_", "<br>");
633
+ return text;
634
+ }
635
+
636
+ string ColorizeCs (string text)
637
+ {
638
+ text = text.Replace (" ", "&nbsp;");
639
+
640
+ text = text.Replace ("<", "&lt;");
641
+ text = text.Replace (">", "&gt;");
642
+
643
+ Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
644
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
645
+
646
+ re = new Regex ("//(((.(?!\"</span>))|\"(((?!\").)*)\"</span>)*)(\r|\n|\r\n)");
647
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
648
+
649
+ re = new Regex (keywords_cs);
650
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
651
+
652
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
653
+ text = text.Replace ("\n","<br/>");
654
+
655
+ return text;
656
+ }
657
+
658
+ string ColorizeVb (string text)
659
+ {
660
+ text = text.Replace (" ", "&nbsp;");
661
+
662
+ /* Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
663
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
664
+
665
+ re = new Regex ("'(((.(?!\"\\<\\/span\\>))|\"(((?!\").)*)\"\\<\\/span\\>)*)(\r|\n|\r\n)");
666
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
667
+
668
+ re = new Regex (keywords_vb);
669
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
670
+ */
671
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
672
+ text = text.Replace ("\n","<br/>");
673
+ return text;
674
+ }
675
+
676
+ //
677
+ // Helper methods and classes
678
+ //
679
+
680
+ string GetDataContext ()
681
+ {
682
+ return "op=" + CurrentOperationName + "&bnd=" + CurrentOperationBinding + "&";
683
+ }
684
+
685
+ string GetOptionSel (string v1, string v2)
686
+ {
687
+ string op = "<option ";
688
+ if (v1 == v2) op += "selected ";
689
+ return op + "value='" + v1 + "'>";
690
+ }
691
+
692
+ string WrapText (string text, int maxChars)
693
+ {
694
+ text = text.Replace(" />","/>");
695
+
696
+ string linspace = null;
697
+ int lincount = 0;
698
+ int breakpos = 0;
699
+ int linstart = 0;
700
+ bool inquotes = false;
701
+ char lastc = ' ';
702
+ string sublineIndent = "";
703
+ System.Text.StringBuilder sb = new System.Text.StringBuilder ();
704
+ for (int n=0; n<text.Length; n++)
705
+ {
706
+ char c = text [n];
707
+
708
+ if (c=='\r' || c=='\n' || n==text.Length-1)
709
+ {
710
+ sb.Append (linspace + sublineIndent + text.Substring (linstart, n-linstart+1));
711
+ linspace = null;
712
+ lincount = 0;
713
+ linstart = n+1;
714
+ breakpos = linstart;
715
+ sublineIndent = "";
716
+ lastc = c;
717
+ continue;
718
+ }
719
+
720
+ if (lastc==',' || lastc=='(')
721
+ {
722
+ if (!inquotes) breakpos = n;
723
+ }
724
+
725
+ if (lincount > maxChars && breakpos >= linstart)
726
+ {
727
+ if (linspace != null)
728
+ sb.Append (linspace + sublineIndent);
729
+ sb.Append (text.Substring (linstart, breakpos-linstart));
730
+ sb.Append ("\n");
731
+ sublineIndent = " ";
732
+ lincount = linspace.Length + sublineIndent.Length + (n-breakpos);
733
+ linstart = breakpos;
734
+ }
735
+
736
+ if (c==' ' || c=='\t')
737
+ {
738
+ if (!inquotes)
739
+ breakpos = n;
740
+ }
741
+ else if (c=='"')
742
+ {
743
+ inquotes = !inquotes;
744
+ }
745
+ else
746
+ if (linspace == null) {
747
+ linspace = text.Substring (linstart, n-linstart);
748
+ linstart = n;
749
+ }
750
+
751
+ lincount++;
752
+ lastc = c;
753
+ }
754
+ return sb.ToString ();
755
+ }
756
+
757
+ class Parameter
758
+ {
759
+ string name;
760
+ string type;
761
+ string description;
762
+
763
+ public string Name { get { return name; } set { name = value; } }
764
+ public string Type { get { return type; } set { type = value; } }
765
+ public string Description { get { return description; } set { description = value; } }
766
+ }
767
+
768
+ public class HtmlSampleGenerator: SampleGenerator
769
+ {
770
+ public HtmlSampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
771
+ : base (services, schemas)
772
+ {
773
+ }
774
+
775
+ protected override string GetLiteral (string s)
776
+ {
777
+ return "@placeholder!" + s + "!placeholder@";
778
+ }
779
+ }
780
+
781
+
782
+ public class SampleGenerator
783
+ {
784
+ protected ServiceDescriptionCollection descriptions;
785
+ protected XmlSchemas schemas;
786
+ XmlSchemaElement anyElement;
787
+ ArrayList queue;
788
+ SoapBindingUse currentUse;
789
+ XmlDocument document = new XmlDocument ();
790
+
791
+ static readonly XmlQualifiedName anyType = new XmlQualifiedName ("anyType",XmlSchema.Namespace);
792
+ static readonly XmlQualifiedName arrayType = new XmlQualifiedName ("Array","http://schemas.xmlsoap.org/soap/encoding/");
793
+ static readonly XmlQualifiedName arrayTypeRefName = new XmlQualifiedName ("arrayType","http://schemas.xmlsoap.org/soap/encoding/");
794
+ const string SoapEnvelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
795
+ const string WsdlNamespace = "http://schemas.xmlsoap.org/wsdl/";
796
+ const string SoapEncodingNamespace = "http://schemas.xmlsoap.org/soap/encoding/";
797
+
798
+ class EncodedType
799
+ {
800
+ public EncodedType (string ns, XmlSchemaElement elem) { Namespace = ns; Element = elem; }
801
+ public string Namespace;
802
+ public XmlSchemaElement Element;
803
+ }
804
+
805
+ public SampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
806
+ {
807
+ descriptions = services;
808
+ this.schemas = schemas;
809
+ queue = new ArrayList ();
810
+ }
811
+
812
+ public string GenerateMessage (Port port, OperationBinding obin, Operation oper, string protocol, bool generateInput)
813
+ {
814
+ OperationMessage msg = null;
815
+ foreach (OperationMessage opm in oper.Messages)
816
+ {
817
+ if (opm is OperationInput && generateInput) msg = opm;
818
+ else if (opm is OperationOutput && !generateInput) msg = opm;
819
+ }
820
+ if (msg == null) return null;
821
+
822
+ switch (protocol) {
823
+ case "Soap": return GenerateHttpSoapMessage (port, obin, oper, msg);
824
+ case "HttpGet": return GenerateHttpGetMessage (port, obin, oper, msg);
825
+ case "HttpPost": return GenerateHttpPostMessage (port, obin, oper, msg);
826
+ }
827
+ return "Unknown protocol";
828
+ }
829
+
830
+ public string GenerateHttpSoapMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
831
+ {
832
+ string req = "";
833
+
834
+ if (msg is OperationInput)
835
+ {
836
+ SoapAddressBinding sab = port.Extensions.Find (typeof(SoapAddressBinding)) as SoapAddressBinding;
837
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
838
+ req += "POST " + new Uri (sab.Location).AbsolutePath + "\n";
839
+ req += "SOAPAction: " + sob.SoapAction + "\n";
840
+ req += "Content-Type: text/xml; charset=utf-8\n";
841
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
842
+ req += "Host: " + GetLiteral ("string") + "\n\n";
843
+ }
844
+ else
845
+ {
846
+ req += "HTTP/1.0 200 OK\n";
847
+ req += "Content-Type: text/xml; charset=utf-8\n";
848
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
849
+ }
850
+
851
+ req += GenerateSoapMessage (obin, oper, msg);
852
+ return req;
853
+ }
854
+
855
+ public string GenerateHttpGetMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
856
+ {
857
+ string req = "";
858
+
859
+ if (msg is OperationInput)
860
+ {
861
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
862
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
863
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location + "?" + BuildQueryString (msg);
864
+ req += "GET " + location + "\n";
865
+ req += "Host: " + GetLiteral ("string");
866
+ }
867
+ else
868
+ {
869
+ req += "HTTP/1.0 200 OK\n";
870
+ req += "Content-Type: text/xml; charset=utf-8\n";
871
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
872
+
873
+ MimeXmlBinding mxb = (MimeXmlBinding) obin.Output.Extensions.Find (typeof(MimeXmlBinding)) as MimeXmlBinding;
874
+ if (mxb == null) return req;
875
+
876
+ Message message = descriptions.GetMessage (msg.Message);
877
+ XmlQualifiedName ename = null;
878
+ foreach (MessagePart part in message.Parts)
879
+ if (part.Name == mxb.Part) ename = part.Element;
880
+
881
+ if (ename == null) return req + GetLiteral("string");
882
+
883
+ StringWriter sw = new StringWriter ();
884
+ XmlTextWriter xtw = new XmlTextWriter (sw);
885
+ xtw.Formatting = Formatting.Indented;
886
+ currentUse = SoapBindingUse.Literal;
887
+ WriteRootElementSample (xtw, ename);
888
+ xtw.Close ();
889
+ req += sw.ToString ();
890
+ }
891
+
892
+ return req;
893
+ }
894
+
895
+ public string GenerateHttpPostMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
896
+ {
897
+ string req = "";
898
+
899
+ if (msg is OperationInput)
900
+ {
901
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
902
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
903
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location;
904
+ req += "POST " + location + "\n";
905
+ req += "Content-Type: application/x-www-form-urlencoded\n";
906
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
907
+ req += "Host: " + GetLiteral ("string") + "\n\n";
908
+ req += BuildQueryString (msg);
909
+ }
910
+ else return GenerateHttpGetMessage (port, obin, oper, msg);
911
+
912
+ return req;
913
+ }
914
+
915
+ string BuildQueryString (OperationMessage opm)
916
+ {
917
+ string s = "";
918
+ Message msg = descriptions.GetMessage (opm.Message);
919
+ foreach (MessagePart part in msg.Parts)
920
+ {
921
+ if (s.Length != 0) s += "&";
922
+ s += part.Name + "=" + GetLiteral (part.Type.Name);
923
+ }
924
+ return s;
925
+ }
926
+
927
+ public string GenerateSoapMessage (OperationBinding obin, Operation oper, OperationMessage msg)
928
+ {
929
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
930
+ SoapBindingStyle style = (sob != null) ? sob.Style : SoapBindingStyle.Document;
931
+
932
+ MessageBinding msgbin = (msg is OperationInput) ? (MessageBinding) obin.Input : (MessageBinding)obin.Output;
933
+ SoapBodyBinding sbb = msgbin.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
934
+ SoapBindingUse bodyUse = (sbb != null) ? sbb.Use : SoapBindingUse.Literal;
935
+
936
+ StringWriter sw = new StringWriter ();
937
+ XmlTextWriter xtw = new XmlTextWriter (sw);
938
+ xtw.Formatting = Formatting.Indented;
939
+
940
+ xtw.WriteStartDocument ();
941
+ xtw.WriteStartElement ("soap", "Envelope", SoapEnvelopeNamespace);
942
+ xtw.WriteAttributeString ("xmlns", "xsi", null, XmlSchema.InstanceNamespace);
943
+ xtw.WriteAttributeString ("xmlns", "xsd", null, XmlSchema.Namespace);
944
+
945
+ if (bodyUse == SoapBindingUse.Encoded)
946
+ {
947
+ xtw.WriteAttributeString ("xmlns", "soapenc", null, SoapEncodingNamespace);
948
+ xtw.WriteAttributeString ("xmlns", "tns", null, msg.Message.Namespace);
949
+ }
950
+
951
+ // Serialize headers
952
+
953
+ bool writtenHeader = false;
954
+ foreach (object ob in msgbin.Extensions)
955
+ {
956
+ SoapHeaderBinding hb = ob as SoapHeaderBinding;
957
+ if (hb == null) continue;
958
+
959
+ if (!writtenHeader) {
960
+ xtw.WriteStartElement ("soap", "Header", SoapEnvelopeNamespace);
961
+ writtenHeader = true;
962
+ }
963
+
964
+ WriteHeader (xtw, hb);
965
+ }
966
+
967
+ if (writtenHeader)
968
+ xtw.WriteEndElement ();
969
+
970
+ // Serialize body
971
+ xtw.WriteStartElement ("soap", "Body", SoapEnvelopeNamespace);
972
+
973
+ currentUse = bodyUse;
974
+ WriteBody (xtw, oper, msg, sbb, style);
975
+
976
+ xtw.WriteEndElement ();
977
+ xtw.WriteEndElement ();
978
+ xtw.Close ();
979
+ return sw.ToString ();
980
+ }
981
+
982
+ void WriteHeader (XmlTextWriter xtw, SoapHeaderBinding header)
983
+ {
984
+ Message msg = descriptions.GetMessage (header.Message);
985
+ if (msg == null) throw new InvalidOperationException ("Message " + header.Message + " not found");
986
+ MessagePart part = msg.Parts [header.Part];
987
+ if (part == null) throw new InvalidOperationException ("Message part " + header.Part + " not found in message " + header.Message);
988
+
989
+ currentUse = header.Use;
990
+
991
+ if (currentUse == SoapBindingUse.Literal)
992
+ WriteRootElementSample (xtw, part.Element);
993
+ else
994
+ WriteTypeSample (xtw, part.Type);
995
+ }
996
+
997
+ void WriteBody (XmlTextWriter xtw, Operation oper, OperationMessage opm, SoapBodyBinding sbb, SoapBindingStyle style)
998
+ {
999
+ Message msg = descriptions.GetMessage (opm.Message);
1000
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
1001
+ {
1002
+ MessagePart part = msg.Parts[0];
1003
+ if (part.Element == XmlQualifiedName.Empty)
1004
+ WriteTypeSample (xtw, part.Type);
1005
+ else
1006
+ WriteRootElementSample (xtw, part.Element);
1007
+ }
1008
+ else
1009
+ {
1010
+ string elemName = oper.Name;
1011
+ string ns = "";
1012
+ if (opm is OperationOutput) elemName += "Response";
1013
+
1014
+ if (style == SoapBindingStyle.Rpc) {
1015
+ xtw.WriteStartElement (elemName, sbb.Namespace);
1016
+ ns = sbb.Namespace;
1017
+ }
1018
+
1019
+ foreach (MessagePart part in msg.Parts)
1020
+ {
1021
+ if (part.Element == XmlQualifiedName.Empty)
1022
+ {
1023
+ XmlSchemaElement elem = new XmlSchemaElement ();
1024
+ elem.SchemaTypeName = part.Type;
1025
+ elem.Name = part.Name;
1026
+ WriteElementSample (xtw, ns, elem);
1027
+ }
1028
+ else
1029
+ WriteRootElementSample (xtw, part.Element);
1030
+ }
1031
+
1032
+ if (style == SoapBindingStyle.Rpc)
1033
+ xtw.WriteEndElement ();
1034
+ }
1035
+ WriteQueuedTypeSamples (xtw);
1036
+ }
1037
+
1038
+ void WriteRootElementSample (XmlTextWriter xtw, XmlQualifiedName qname)
1039
+ {
1040
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (qname, typeof(XmlSchemaElement));
1041
+ if (elem == null) throw new InvalidOperationException ("Element not found: " + qname);
1042
+ WriteElementSample (xtw, qname.Namespace, elem);
1043
+ }
1044
+
1045
+ void WriteElementSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1046
+ {
1047
+ bool sharedAnnType = false;
1048
+ XmlQualifiedName root;
1049
+
1050
+ if (!elem.RefName.IsEmpty) {
1051
+ XmlSchemaElement refElem = FindRefElement (elem);
1052
+ if (refElem == null) throw new InvalidOperationException ("Global element not found: " + elem.RefName);
1053
+ root = elem.RefName;
1054
+ elem = refElem;
1055
+ sharedAnnType = true;
1056
+ }
1057
+ else
1058
+ root = new XmlQualifiedName (elem.Name, ns);
1059
+
1060
+ if (!elem.SchemaTypeName.IsEmpty)
1061
+ {
1062
+ XmlSchemaComplexType st = FindComplexTyype (elem.SchemaTypeName);
1063
+ if (st != null)
1064
+ WriteComplexTypeSample (xtw, st, root);
1065
+ else
1066
+ {
1067
+ xtw.WriteStartElement (root.Name, root.Namespace);
1068
+ if (currentUse == SoapBindingUse.Encoded)
1069
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, elem.SchemaTypeName));
1070
+ xtw.WriteString (GetLiteral (FindBuiltInType (elem.SchemaTypeName)));
1071
+ xtw.WriteEndElement ();
1072
+ }
1073
+ }
1074
+ else if (elem.SchemaType == null)
1075
+ {
1076
+ xtw.WriteStartElement ("any");
1077
+ xtw.WriteEndElement ();
1078
+ }
1079
+ else
1080
+ WriteComplexTypeSample (xtw, (XmlSchemaComplexType) elem.SchemaType, root);
1081
+ }
1082
+
1083
+ void WriteTypeSample (XmlTextWriter xtw, XmlQualifiedName qname)
1084
+ {
1085
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1086
+ if (ctype != null) {
1087
+ WriteComplexTypeSample (xtw, ctype, qname);
1088
+ return;
1089
+ }
1090
+
1091
+ XmlSchemaSimpleType stype = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1092
+ if (stype != null) {
1093
+ WriteSimpleTypeSample (xtw, stype);
1094
+ return;
1095
+ }
1096
+
1097
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1098
+ throw new InvalidOperationException ("Type not found: " + qname);
1099
+ }
1100
+
1101
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName)
1102
+ {
1103
+ WriteComplexTypeSample (xtw, stype, rootName, -1);
1104
+ }
1105
+
1106
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName, int id)
1107
+ {
1108
+ string ns = rootName.Namespace;
1109
+
1110
+ if (rootName.Name.IndexOf ("[]") != -1) rootName = arrayType;
1111
+
1112
+ if (currentUse == SoapBindingUse.Encoded) {
1113
+ string pref = xtw.LookupPrefix (rootName.Namespace);
1114
+ if (pref == null) pref = "q1";
1115
+ xtw.WriteStartElement (pref, rootName.Name, rootName.Namespace);
1116
+ ns = "";
1117
+ }
1118
+ else
1119
+ xtw.WriteStartElement (rootName.Name, rootName.Namespace);
1120
+
1121
+ if (id != -1)
1122
+ {
1123
+ xtw.WriteAttributeString ("id", "id" + id);
1124
+ if (rootName != arrayType)
1125
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, rootName));
1126
+ }
1127
+
1128
+ WriteComplexTypeAttributes (xtw, stype);
1129
+ WriteComplexTypeElements (xtw, ns, stype);
1130
+
1131
+ xtw.WriteEndElement ();
1132
+ }
1133
+
1134
+ void WriteComplexTypeAttributes (XmlTextWriter xtw, XmlSchemaComplexType stype)
1135
+ {
1136
+ WriteAttributes (xtw, stype.Attributes, stype.AnyAttribute);
1137
+ }
1138
+
1139
+ Dictionary<XmlSchemaComplexType,int> recursed_types = new Dictionary<XmlSchemaComplexType,int> ();
1140
+ void WriteComplexTypeElements (XmlTextWriter xtw, string ns, XmlSchemaComplexType stype)
1141
+ {
1142
+ int prev = 0;
1143
+ if (recursed_types.ContainsKey (stype))
1144
+ prev = recursed_types [stype];
1145
+
1146
+ if (prev > 1)
1147
+ return;
1148
+ recursed_types [stype] = ++prev;
1149
+
1150
+ if (stype.Particle != null)
1151
+ WriteParticleComplexContent (xtw, ns, stype.Particle);
1152
+ else
1153
+ {
1154
+ if (stype.ContentModel is XmlSchemaSimpleContent)
1155
+ WriteSimpleContent (xtw, (XmlSchemaSimpleContent)stype.ContentModel);
1156
+ else if (stype.ContentModel is XmlSchemaComplexContent)
1157
+ WriteComplexContent (xtw, ns, (XmlSchemaComplexContent)stype.ContentModel);
1158
+ }
1159
+ prev = recursed_types [stype];
1160
+ recursed_types [stype] = --prev;
1161
+ }
1162
+
1163
+ void WriteAttributes (XmlTextWriter xtw, XmlSchemaObjectCollection atts, XmlSchemaAnyAttribute anyat)
1164
+ {
1165
+ foreach (XmlSchemaObject at in atts)
1166
+ {
1167
+ if (at is XmlSchemaAttribute)
1168
+ {
1169
+ string ns;
1170
+ XmlSchemaAttribute attr = (XmlSchemaAttribute)at;
1171
+ XmlSchemaAttribute refAttr = attr;
1172
+
1173
+ // refAttr.Form; TODO
1174
+
1175
+ if (!attr.RefName.IsEmpty) {
1176
+ refAttr = FindRefAttribute (attr.RefName);
1177
+ if (refAttr == null) throw new InvalidOperationException ("Global attribute not found: " + attr.RefName);
1178
+ }
1179
+
1180
+ string val;
1181
+ if (!refAttr.SchemaTypeName.IsEmpty) val = FindBuiltInType (refAttr.SchemaTypeName);
1182
+ else val = FindBuiltInType ((XmlSchemaSimpleType) refAttr.SchemaType);
1183
+
1184
+ xtw.WriteAttributeString (refAttr.Name, val);
1185
+ }
1186
+ else if (at is XmlSchemaAttributeGroupRef)
1187
+ {
1188
+ XmlSchemaAttributeGroupRef gref = (XmlSchemaAttributeGroupRef)at;
1189
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1190
+ WriteAttributes (xtw, grp.Attributes, grp.AnyAttribute);
1191
+ }
1192
+ }
1193
+
1194
+ if (anyat != null)
1195
+ xtw.WriteAttributeString ("custom-attribute","value");
1196
+ }
1197
+
1198
+ void WriteParticleComplexContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle)
1199
+ {
1200
+ WriteParticleContent (xtw, ns, particle, false);
1201
+ }
1202
+
1203
+ void WriteParticleContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle, bool multiValue)
1204
+ {
1205
+ if (particle is XmlSchemaGroupRef)
1206
+ particle = GetRefGroupParticle ((XmlSchemaGroupRef)particle);
1207
+
1208
+ if (particle.MaxOccurs > 1) multiValue = true;
1209
+
1210
+ if (particle is XmlSchemaSequence) {
1211
+ WriteSequenceContent (xtw, ns, ((XmlSchemaSequence)particle).Items, multiValue);
1212
+ }
1213
+ else if (particle is XmlSchemaChoice) {
1214
+ if (((XmlSchemaChoice)particle).Items.Count == 1)
1215
+ WriteSequenceContent (xtw, ns, ((XmlSchemaChoice)particle).Items, multiValue);
1216
+ else
1217
+ WriteChoiceContent (xtw, ns, (XmlSchemaChoice)particle, multiValue);
1218
+ }
1219
+ else if (particle is XmlSchemaAll) {
1220
+ WriteSequenceContent (xtw, ns, ((XmlSchemaAll)particle).Items, multiValue);
1221
+ }
1222
+ }
1223
+
1224
+ void WriteSequenceContent (XmlTextWriter xtw, string ns, XmlSchemaObjectCollection items, bool multiValue)
1225
+ {
1226
+ foreach (XmlSchemaObject item in items)
1227
+ WriteContentItem (xtw, ns, item, multiValue);
1228
+ }
1229
+
1230
+ void WriteContentItem (XmlTextWriter xtw, string ns, XmlSchemaObject item, bool multiValue)
1231
+ {
1232
+ if (item is XmlSchemaGroupRef)
1233
+ item = GetRefGroupParticle ((XmlSchemaGroupRef)item);
1234
+
1235
+ if (item is XmlSchemaElement)
1236
+ {
1237
+ XmlSchemaElement elem = (XmlSchemaElement) item;
1238
+ XmlSchemaElement refElem;
1239
+ if (!elem.RefName.IsEmpty) refElem = FindRefElement (elem);
1240
+ else refElem = elem;
1241
+
1242
+ int num = (elem.MaxOccurs == 1 && !multiValue) ? 1 : 2;
1243
+ for (int n=0; n<num; n++)
1244
+ {
1245
+ if (currentUse == SoapBindingUse.Literal)
1246
+ WriteElementSample (xtw, ns, refElem);
1247
+ else
1248
+ WriteRefTypeSample (xtw, ns, refElem);
1249
+ }
1250
+ }
1251
+ else if (item is XmlSchemaAny)
1252
+ {
1253
+ xtw.WriteString (GetLiteral ("xml"));
1254
+ }
1255
+ else if (item is XmlSchemaParticle) {
1256
+ WriteParticleContent (xtw, ns, (XmlSchemaParticle)item, multiValue);
1257
+ }
1258
+ }
1259
+
1260
+ void WriteChoiceContent (XmlTextWriter xtw, string ns, XmlSchemaChoice choice, bool multiValue)
1261
+ {
1262
+ foreach (XmlSchemaObject item in choice.Items)
1263
+ WriteContentItem (xtw, ns, item, multiValue);
1264
+ }
1265
+
1266
+ void WriteSimpleContent (XmlTextWriter xtw, XmlSchemaSimpleContent content)
1267
+ {
1268
+ XmlSchemaSimpleContentExtension ext = content.Content as XmlSchemaSimpleContentExtension;
1269
+ if (ext != null)
1270
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1271
+
1272
+ XmlQualifiedName qname = GetContentBaseType (content.Content);
1273
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1274
+ }
1275
+
1276
+ string FindBuiltInType (XmlQualifiedName qname)
1277
+ {
1278
+ if (qname.Namespace == XmlSchema.Namespace)
1279
+ return qname.Name;
1280
+
1281
+ XmlSchemaComplexType ct = FindComplexTyype (qname);
1282
+ if (ct != null)
1283
+ {
1284
+ XmlSchemaSimpleContent sc = ct.ContentModel as XmlSchemaSimpleContent;
1285
+ if (sc == null) throw new InvalidOperationException ("Invalid schema");
1286
+ return FindBuiltInType (GetContentBaseType (sc.Content));
1287
+ }
1288
+
1289
+ XmlSchemaSimpleType st = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1290
+ if (st != null)
1291
+ return FindBuiltInType (st);
1292
+
1293
+ throw new InvalidOperationException ("Definition of type " + qname + " not found");
1294
+ }
1295
+
1296
+ string FindBuiltInType (XmlSchemaSimpleType st)
1297
+ {
1298
+ if (st.Content is XmlSchemaSimpleTypeRestriction) {
1299
+ return FindBuiltInType (GetContentBaseType (st.Content));
1300
+ }
1301
+ else if (st.Content is XmlSchemaSimpleTypeList) {
1302
+ string s = FindBuiltInType (GetContentBaseType (st.Content));
1303
+ return s + " " + s + " ...";
1304
+ }
1305
+ else if (st.Content is XmlSchemaSimpleTypeUnion)
1306
+ {
1307
+ //Check if all types of the union are equal. If not, then will use anyType.
1308
+ XmlSchemaSimpleTypeUnion uni = (XmlSchemaSimpleTypeUnion) st.Content;
1309
+ string utype = null;
1310
+
1311
+ // Anonymous types are unique
1312
+ if (uni.BaseTypes.Count != 0 && uni.MemberTypes.Length != 0)
1313
+ return "string";
1314
+
1315
+ foreach (XmlQualifiedName mt in uni.MemberTypes)
1316
+ {
1317
+ string qn = FindBuiltInType (mt);
1318
+ if (utype != null && qn != utype) return "string";
1319
+ else utype = qn;
1320
+ }
1321
+ return utype;
1322
+ }
1323
+ else
1324
+ return "string";
1325
+ }
1326
+
1327
+
1328
+ XmlQualifiedName GetContentBaseType (XmlSchemaObject ob)
1329
+ {
1330
+ if (ob is XmlSchemaSimpleContentExtension)
1331
+ return ((XmlSchemaSimpleContentExtension)ob).BaseTypeName;
1332
+ else if (ob is XmlSchemaSimpleContentRestriction)
1333
+ return ((XmlSchemaSimpleContentRestriction)ob).BaseTypeName;
1334
+ else if (ob is XmlSchemaSimpleTypeRestriction)
1335
+ return ((XmlSchemaSimpleTypeRestriction)ob).BaseTypeName;
1336
+ else if (ob is XmlSchemaSimpleTypeList)
1337
+ return ((XmlSchemaSimpleTypeList)ob).ItemTypeName;
1338
+ else
1339
+ return null;
1340
+ }
1341
+
1342
+ void WriteComplexContent (XmlTextWriter xtw, string ns, XmlSchemaComplexContent content)
1343
+ {
1344
+ XmlQualifiedName qname;
1345
+
1346
+ XmlSchemaComplexContentExtension ext = content.Content as XmlSchemaComplexContentExtension;
1347
+ if (ext != null) qname = ext.BaseTypeName;
1348
+ else {
1349
+ XmlSchemaComplexContentRestriction rest = (XmlSchemaComplexContentRestriction)content.Content;
1350
+ qname = rest.BaseTypeName;
1351
+ if (qname == arrayType) {
1352
+ ParseArrayType (rest, out qname);
1353
+ XmlSchemaElement elem = new XmlSchemaElement ();
1354
+ elem.Name = "Item";
1355
+ elem.SchemaTypeName = qname;
1356
+
1357
+ xtw.WriteAttributeString ("arrayType", SoapEncodingNamespace, qname.Name + "[2]");
1358
+ WriteContentItem (xtw, ns, elem, true);
1359
+ return;
1360
+ }
1361
+ }
1362
+
1363
+ // Add base map members to this map
1364
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1365
+ WriteComplexTypeAttributes (xtw, ctype);
1366
+
1367
+ if (ext != null) {
1368
+ // Add the members of this map
1369
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1370
+ if (ext.Particle != null)
1371
+ WriteParticleComplexContent (xtw, ns, ext.Particle);
1372
+ }
1373
+
1374
+ WriteComplexTypeElements (xtw, ns, ctype);
1375
+ }
1376
+
1377
+ void ParseArrayType (XmlSchemaComplexContentRestriction rest, out XmlQualifiedName qtype)
1378
+ {
1379
+ XmlSchemaAttribute arrayTypeAt = FindArrayAttribute (rest.Attributes);
1380
+ XmlAttribute[] uatts = arrayTypeAt.UnhandledAttributes;
1381
+ if (uatts == null || uatts.Length == 0) throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1382
+
1383
+ XmlAttribute xat = null;
1384
+ foreach (XmlAttribute at in uatts)
1385
+ if (at.LocalName == "arrayType" && at.NamespaceURI == WsdlNamespace)
1386
+ { xat = at; break; }
1387
+
1388
+ if (xat == null)
1389
+ throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1390
+
1391
+ string arrayType = xat.Value;
1392
+ string type, ns;
1393
+ int i = arrayType.LastIndexOf (":");
1394
+ if (i == -1) ns = "";
1395
+ else ns = arrayType.Substring (0,i);
1396
+
1397
+ int j = arrayType.IndexOf ("[", i+1);
1398
+ if (j == -1) throw new InvalidOperationException ("Cannot parse WSDL array type: " + arrayType);
1399
+ type = arrayType.Substring (i+1);
1400
+ type = type.Substring (0, type.Length-2);
1401
+
1402
+ qtype = new XmlQualifiedName (type, ns);
1403
+ }
1404
+
1405
+ XmlSchemaAttribute FindArrayAttribute (XmlSchemaObjectCollection atts)
1406
+ {
1407
+ foreach (object ob in atts)
1408
+ {
1409
+ XmlSchemaAttribute att = ob as XmlSchemaAttribute;
1410
+ if (att != null && att.RefName == arrayTypeRefName) return att;
1411
+
1412
+ XmlSchemaAttributeGroupRef gref = ob as XmlSchemaAttributeGroupRef;
1413
+ if (gref != null)
1414
+ {
1415
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1416
+ att = FindArrayAttribute (grp.Attributes);
1417
+ if (att != null) return att;
1418
+ }
1419
+ }
1420
+ return null;
1421
+ }
1422
+
1423
+ void WriteSimpleTypeSample (XmlTextWriter xtw, XmlSchemaSimpleType stype)
1424
+ {
1425
+ xtw.WriteString (GetLiteral (FindBuiltInType (stype)));
1426
+ }
1427
+
1428
+ XmlSchemaParticle GetRefGroupParticle (XmlSchemaGroupRef refGroup)
1429
+ {
1430
+ XmlSchemaGroup grp = (XmlSchemaGroup) schemas.Find (refGroup.RefName, typeof (XmlSchemaGroup));
1431
+ return grp.Particle;
1432
+ }
1433
+
1434
+ XmlSchemaElement FindRefElement (XmlSchemaElement elem)
1435
+ {
1436
+ if (elem.RefName.Namespace == XmlSchema.Namespace)
1437
+ {
1438
+ if (anyElement != null) return anyElement;
1439
+ anyElement = new XmlSchemaElement ();
1440
+ anyElement.Name = "any";
1441
+ anyElement.SchemaTypeName = anyType;
1442
+ return anyElement;
1443
+ }
1444
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
1445
+ }
1446
+
1447
+ XmlSchemaAttribute FindRefAttribute (XmlQualifiedName refName)
1448
+ {
1449
+ if (refName.Namespace == XmlSchema.Namespace)
1450
+ {
1451
+ XmlSchemaAttribute at = new XmlSchemaAttribute ();
1452
+ at.Name = refName.Name;
1453
+ at.SchemaTypeName = new XmlQualifiedName ("string",XmlSchema.Namespace);
1454
+ return at;
1455
+ }
1456
+ return (XmlSchemaAttribute) schemas.Find (refName, typeof(XmlSchemaAttribute));
1457
+ }
1458
+
1459
+ void WriteRefTypeSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1460
+ {
1461
+ if (elem.SchemaTypeName.Namespace == XmlSchema.Namespace || schemas.Find (elem.SchemaTypeName, typeof(XmlSchemaSimpleType)) != null)
1462
+ WriteElementSample (xtw, ns, elem);
1463
+ else
1464
+ {
1465
+ xtw.WriteStartElement (elem.Name, ns);
1466
+ xtw.WriteAttributeString ("href", "#id" + (queue.Count+1));
1467
+ xtw.WriteEndElement ();
1468
+ queue.Add (new EncodedType (ns, elem));
1469
+ }
1470
+ }
1471
+
1472
+ void WriteQueuedTypeSamples (XmlTextWriter xtw)
1473
+ {
1474
+ for (int n=0; n<queue.Count; n++)
1475
+ {
1476
+ EncodedType ec = (EncodedType) queue[n];
1477
+ XmlSchemaComplexType st = FindComplexTyype (ec.Element.SchemaTypeName);
1478
+ WriteComplexTypeSample (xtw, st, ec.Element.SchemaTypeName, n+1);
1479
+ }
1480
+ }
1481
+
1482
+ XmlSchemaComplexType FindComplexTyype (XmlQualifiedName qname)
1483
+ {
1484
+ if (qname.Name.IndexOf ("[]") != -1)
1485
+ {
1486
+ XmlSchemaComplexType stype = new XmlSchemaComplexType ();
1487
+ stype.ContentModel = new XmlSchemaComplexContent ();
1488
+
1489
+ XmlSchemaComplexContentRestriction res = new XmlSchemaComplexContentRestriction ();
1490
+ stype.ContentModel.Content = res;
1491
+ res.BaseTypeName = arrayType;
1492
+
1493
+ XmlSchemaAttribute att = new XmlSchemaAttribute ();
1494
+ att.RefName = arrayTypeRefName;
1495
+ res.Attributes.Add (att);
1496
+
1497
+ XmlAttribute xat = document.CreateAttribute ("arrayType", WsdlNamespace);
1498
+ xat.Value = qname.Namespace + ":" + qname.Name;
1499
+ att.UnhandledAttributes = new XmlAttribute[] {xat};
1500
+ return stype;
1501
+ }
1502
+
1503
+ return (XmlSchemaComplexType) schemas.Find (qname, typeof(XmlSchemaComplexType));
1504
+ }
1505
+
1506
+ string GetQualifiedNameString (XmlTextWriter xtw, XmlQualifiedName qname)
1507
+ {
1508
+ string pref = xtw.LookupPrefix (qname.Namespace);
1509
+ if (pref != null) return pref + ":" + qname.Name;
1510
+
1511
+ xtw.WriteAttributeString ("xmlns", "q1", null, qname.Namespace);
1512
+ return "q1:" + qname.Name;
1513
+ }
1514
+
1515
+ protected virtual string GetLiteral (string s)
1516
+ {
1517
+ return s;
1518
+ }
1519
+
1520
+ void GetOperationFormat (OperationBinding obin, out SoapBindingStyle style, out SoapBindingUse use)
1521
+ {
1522
+ style = SoapBindingStyle.Document;
1523
+ use = SoapBindingUse.Literal;
1524
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
1525
+ if (sob != null) {
1526
+ style = sob.Style;
1527
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
1528
+ if (sbb != null)
1529
+ use = sbb.Use;
1530
+ }
1531
+ }
1532
+ }
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+ </script>
1539
+
1540
+ <head runat="server">
1541
+ <%
1542
+ Response.Write ("<link rel=\"alternate\" type=\"text/xml\" href=\"" + Request.FilePath + "?disco\"/>");
1543
+ %>
1544
+ <title><%=WebServiceName%> Web Service</title>
1545
+ <style type="text/css">
1546
+ BODY { font-family: Arial; margin-left: 20px; margin-top: 20px; font-size: x-small}
1547
+ TABLE { font-size: x-small }
1548
+ .title { color:dimgray; font-family: Arial; font-size:20pt; font-weight:900}
1549
+ .operationTitle { color:dimgray; font-family: Arial; font-size:15pt; font-weight:900}
1550
+ .method { font-size: x-small }
1551
+ .bindingLabel { font-size: x-small; font-weight:bold; color:darkgray; line-height:8pt; display:block; margin-bottom:3px }
1552
+ .label { font-size: small; font-weight:bold; color:darkgray }
1553
+ .paramTable { font-size: x-small }
1554
+ .paramTable TR { background-color: gainsboro }
1555
+ .paramFormTable { font-size: x-small; padding: 10px; background-color: gainsboro }
1556
+ .paramFormTable TR { background-color: gainsboro }
1557
+ .paramInput { border: solid 1px gray }
1558
+ .button {border: solid 1px gray }
1559
+ .smallSeparator { height:3px; overflow:hidden }
1560
+ .panel { background-color:whitesmoke; border: solid 1px silver; border-top: solid 1px silver }
1561
+ .codePanel { background-color: white; font-size:x-small; padding:7px; border:solid 1px silver}
1562
+ .code-xml { font-size:10pt; font-family:courier }
1563
+ .code-cs { font-size:10pt; font-family:courier }
1564
+ .code-vb { font-size:10pt; font-family:courier }
1565
+ .tabLabelOn { font-weight:bold }
1566
+ .tabLabelOff {color: darkgray }
1567
+ .literal-placeholder {color: darkblue; font-weight:bold}
1568
+ A:link { color: black; }
1569
+ A:visited { color: black; }
1570
+ A:active { color: black; }
1571
+ A:hover { color: blue }
1572
+ </style>
1573
+
1574
+ <script language="javascript" type="text/javascript">
1575
+ var req;
1576
+ function getXML (command, url, qs) {
1577
+ if (url == "" || url.substring (0, 4) != "http")
1578
+ return;
1579
+
1580
+ var post_data = null;
1581
+ req = getReq ();
1582
+ req.onreadystatechange = stateChange;
1583
+ if (command == "GET") {
1584
+ url = url + "?" + qs;
1585
+ } else {
1586
+ post_data = qs;
1587
+ }
1588
+ req.open (command, url, true);
1589
+ if (command == "POST")
1590
+ req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
1591
+ req.send (post_data);
1592
+ }
1593
+
1594
+ function stateChange () {
1595
+ if (req.readyState == 4) {
1596
+ var node = document.getElementById("testresult_div");
1597
+ var text = "";
1598
+ if (req.status == 200) {
1599
+ node.innerHTML = "<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
1600
+ } else {
1601
+ var ht = "<b style='color: red'>" + formatXml (req.status + " - " + req.statusText) + "</b>";
1602
+ if (req.responseText != "")
1603
+ ht = ht + "\n<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
1604
+ node.innerHTML = ht;
1605
+
1606
+ }
1607
+ }
1608
+ }
1609
+
1610
+ function formatXml (text)
1611
+ {
1612
+ var re = / /g;
1613
+ text = text.replace (re, "&nbsp;");
1614
+
1615
+ re = /\t/g;
1616
+ text = text.replace (re, "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
1617
+
1618
+ re = /\<\s*(\/?)\s*(.*?)\s*(\/?)\s*\>/g;
1619
+ text = text.replace (re,"{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
1620
+
1621
+ re = /{(\w*):(.*?)}/g;
1622
+ text = text.replace (re,"<span style='color:$1'>$2</span>");
1623
+
1624
+ re = /"(.*?)"/g;
1625
+ text = text.replace (re,"\"<span style='color:purple'>$1</span>\"");
1626
+
1627
+ re = /\r\n|\r|\n/g;
1628
+ text = text.replace (re, "<br/>");
1629
+
1630
+ return text;
1631
+ }
1632
+
1633
+ function getReq () {
1634
+ if (window.XMLHttpRequest) {
1635
+ return new XMLHttpRequest(); // Firefox, Safari, ...
1636
+ } else if (window.ActiveXObject) {
1637
+ return new ActiveXObject("Microsoft.XMLHTTP");
1638
+ }
1639
+ }
1640
+
1641
+ function clearForm ()
1642
+ {
1643
+ document.getElementById("testFormResult").style.display="none";
1644
+ }
1645
+ </script>
1646
+
1647
+ </head>
1648
+
1649
+ <body>
1650
+ <div class="title" style="margin-left:20px">
1651
+ <span class="label">Web Service</span><br>
1652
+ <%=WebServiceName%>
1653
+ </div>
1654
+
1655
+ <!--
1656
+ **********************************************************
1657
+ Left panel
1658
+ -->
1659
+
1660
+ <table border="0" width="100%" cellpadding="15px" cellspacing="15px">
1661
+ <tr valign="top"><td width="150px" class="panel">
1662
+ <div style="width:150px"></div>
1663
+ <a class="method" href='<%=PageName%>'>Overview</a><br>
1664
+ <div class="smallSeparator"></div>
1665
+ <a class="method" href='<%=PageName + "?" + GetPageContext("wsdl")%>'>Service Description</a>
1666
+ <div class="smallSeparator"></div>
1667
+ <a class="method" href='<%=PageName + "?" + GetPageContext("proxy")%>'>Client proxy</a>
1668
+ <br><br>
1669
+ <asp:repeater id="BindingsRepeater" runat=server>
1670
+ <itemtemplate name="itemtemplate">
1671
+ <span class="bindingLabel"><%#FormatBindingName(DataBinder.Eval(Container.DataItem, "Name").ToString())%></span>
1672
+ <asp:repeater id="OperationsRepeater" runat=server datasource='<%# ((Binding)Container.DataItem).Operations %>'>
1673
+ <itemtemplate>
1674
+ <a class="method" href="<%=PageName%>?<%=GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
1675
+ <div class="smallSeparator"></div>
1676
+ </itemtemplate>
1677
+ </asp:repeater>
1678
+ <br>
1679
+ </itemtemplate>
1680
+ </asp:repeater>
1681
+
1682
+ </td><td class="panel">
1683
+
1684
+ <% if (CurrentPage == "main") {%>
1685
+
1686
+ <!--
1687
+ **********************************************************
1688
+ Web service overview
1689
+ -->
1690
+
1691
+ <p class="label">Web Service Overview</p>
1692
+ <%=WebServiceDescription%>
1693
+ <br/><br/>
1694
+ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %>
1695
+ <p class="label">Basic Profile Conformance</p>
1696
+ This web service does not conform to WS-I Basic Profile v1.1
1697
+ <%
1698
+ Response.Write ("<ul>");
1699
+ foreach (BasicProfileViolation vio in ProfileViolations) {
1700
+ Response.Write ("<li><b>" + vio.NormativeStatement + "</b>: " + vio.Details);
1701
+ Response.Write ("<ul>");
1702
+ foreach (string ele in vio.Elements)
1703
+ Response.Write ("<li>" + ele + "</li>");
1704
+ Response.Write ("</ul>");
1705
+ Response.Write ("</li>");
1706
+ }
1707
+ Response.Write ("</ul>");
1708
+ }%>
1709
+
1710
+ <%} if (DefaultBinding == null) {%>
1711
+ This service does not contain any public web method.
1712
+ <%} else if (CurrentPage == "op") {%>
1713
+
1714
+ <!--
1715
+ **********************************************************
1716
+ Operation description
1717
+ -->
1718
+
1719
+ <span class="operationTitle"><%=CurrentOperationName%></span>
1720
+ <br><br>
1721
+ <% WriteTabs (); %>
1722
+ <br><br><br>
1723
+
1724
+ <% if (CurrentTab == "main") { %>
1725
+ <span class="label">Input Parameters</span>
1726
+ <div class="smallSeparator"></div>
1727
+ <% if (InParams.Count == 0) { %>
1728
+ No input parameters<br>
1729
+ <% } else { %>
1730
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1731
+ <asp:repeater id="InputParamsRepeater" runat=server>
1732
+ <itemtemplate>
1733
+ <tr>
1734
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1735
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1736
+ </tr>
1737
+ </itemtemplate>
1738
+ </asp:repeater>
1739
+ </table>
1740
+ <% } %>
1741
+ <br>
1742
+
1743
+ <% if (OutParams.Count > 0) { %>
1744
+ <span class="label">Output Parameters</span>
1745
+ <div class="smallSeparator"></div>
1746
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1747
+ <asp:repeater id="OutputParamsRepeater" runat=server>
1748
+ <itemtemplate>
1749
+ <tr>
1750
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1751
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1752
+ </tr>
1753
+ </itemtemplate>
1754
+ </asp:repeater>
1755
+ </table>
1756
+ <br>
1757
+ <% } %>
1758
+
1759
+ <span class="label">Remarks</span>
1760
+ <div class="smallSeparator"></div>
1761
+ <%=OperationDocumentation%>
1762
+ <br><br>
1763
+ <span class="label">Technical information</span>
1764
+ <div class="smallSeparator"></div>
1765
+ Format: <%=CurrentOperationFormat%>
1766
+ <br>Supported protocols: <%=CurrentOperationProtocols%>
1767
+ <% } %>
1768
+
1769
+ <!--
1770
+ **********************************************************
1771
+ Operation description - Test form
1772
+ -->
1773
+
1774
+ <% if (CurrentTab == "test") {
1775
+ if (CurrentOperationSupportsTest) {%>
1776
+ Enter values for the parameters and click the 'Invoke' button to test this method:<br><br>
1777
+ <form action="<%=PageName%>" method="GET">
1778
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
1779
+ <input type="hidden" name="tab" value="<%=CurrentTab%>">
1780
+ <input type="hidden" name="op" value="<%=CurrentOperationName%>">
1781
+ <input type="hidden" name="bnd" value="<%=CurrentOperationBinding%>">
1782
+ <input type="hidden" name="ext" value="testform">
1783
+ <table class="paramFormTable" cellspacing="0" cellpadding="3">
1784
+ <asp:repeater id="InputFormParamsRepeater" runat=server>
1785
+ <itemtemplate>
1786
+ <tr>
1787
+ <td><%#DataBinder.Eval(Container.DataItem, "Name")%>:&nbsp;</td>
1788
+ <td width="150"><input class="paramInput" type="text" size="20" name="<%#DataBinder.Eval(Container.DataItem, "Name")%>"></td>
1789
+ </tr>
1790
+ </itemtemplate>
1791
+ </asp:repeater>
1792
+ <tr><td></td><td><input class="button" type="submit" value="Invoke">&nbsp;<input class="button" type="button" onclick="clearForm()" value="Clear"></td></tr>
1793
+ </table>
1794
+ </form>
1795
+ <div id="testFormResult" style="display:<%= (HasFormResult?"block":"none") %>">
1796
+ The web service returned the following result:<br/><br/>
1797
+ <div class="codePanel" id="testresult_div">
1798
+ </div>
1799
+ <script language="javascript">
1800
+ getXML ("<%= GetOrPost () %>", "<%= GetTestResultUrl () %>", "<%= GetQS () %>");
1801
+ </script>
1802
+ </div>
1803
+ <% } else {%>
1804
+ The test form is not available for this operation because it has parameters with a complex structure.
1805
+ <% } %>
1806
+ <% } %>
1807
+
1808
+ <!--
1809
+ **********************************************************
1810
+ Operation description - Message Layout
1811
+ -->
1812
+
1813
+ <% if (CurrentTab == "msg") { %>
1814
+
1815
+ The following are sample SOAP requests and responses for each protocol supported by this method:
1816
+ <br/><br/>
1817
+
1818
+ <% if (IsOperationSupported ("Soap")) { %>
1819
+ <span class="label">Soap</span>
1820
+ <br/><br/>
1821
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", true)%></div></div>
1822
+ <br/>
1823
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", false)%></div></div>
1824
+ <br/>
1825
+ <% } %>
1826
+ <% if (IsOperationSupported ("HttpGet")) { %>
1827
+ <span class="label">HTTP Get</span>
1828
+ <br/><br/>
1829
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", true)%></div></div>
1830
+ <br/>
1831
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", false)%></div></div>
1832
+ <br/>
1833
+ <% } %>
1834
+ <% if (IsOperationSupported ("HttpPost")) { %>
1835
+ <span class="label">HTTP Post</span>
1836
+ <br/><br/>
1837
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", true)%></div></div>
1838
+ <br/>
1839
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", false)%></div></div>
1840
+ <br/>
1841
+ <% } %>
1842
+
1843
+ <% } %>
1844
+ <%} else if (CurrentPage == "proxy") {%>
1845
+ <!--
1846
+ **********************************************************
1847
+ Client Proxy
1848
+ -->
1849
+ <form action="<%=PageName%>" name="langForm" method="GET">
1850
+ Select the language for which you want to generate a proxy
1851
+ <input type="hidden" name="page" value="<%=CurrentPage%>">&nbsp;
1852
+ <SELECT name="lang" onchange="langForm.submit()">
1853
+ <%=GetOptionSel("cs",CurrentLanguage)%>C#</option>
1854
+ <%=GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
1855
+ </SELECT>
1856
+ &nbsp;&nbsp;
1857
+ </form>
1858
+ <br>
1859
+ <span class="label"><%=CurrentProxytName%></span>&nbsp;&nbsp;&nbsp;
1860
+ <a href="<%=PageName + "?code=" + CurrentLanguage%>">Download</a>
1861
+ <br><br>
1862
+ <div class="codePanel">
1863
+ <div class="code-<%=CurrentLanguage%>"><%=GetProxyCode ()%></div>
1864
+ </div>
1865
+ <%} else if (CurrentPage == "wsdl") {%>
1866
+ <!--
1867
+ **********************************************************
1868
+ Service description
1869
+ -->
1870
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
1871
+ The description of this web service is composed by several documents. Click on the document you want to see:
1872
+
1873
+ <ul>
1874
+ <%
1875
+ for (int n=0; n<descriptions.Count; n++)
1876
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=wsdl&docind=" + n + "'>WSDL document " + descriptions[n].TargetNamespace + "</a></li>");
1877
+ for (int n=0; n<schemas.Count; n++)
1878
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=schema&docind=" + n + "'>Xml Schema " + schemas[n].TargetNamespace + "</a></li>");
1879
+ %>
1880
+ </ul>
1881
+
1882
+ <%} else {%>
1883
+ <%}%>
1884
+ <br>
1885
+ <span class="label"><%=CurrentDocumentName%></span>&nbsp;&nbsp;&nbsp;
1886
+ <a href="<%=PageName + "?" + CurrentDocType + "=" + CurrentDocInd %>">Download</a>
1887
+ <br><br>
1888
+ <div class="codePanel">
1889
+ <div class="code-xml"><%=GenerateDocument ()%></div>
1890
+ </div>
1891
+
1892
+ <%}%>
1893
+
1894
+ <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
1895
+ </td>
1896
+ <td width="20px"></td>
1897
+ </tr>
1898
+
1899
+ </table>
1900
+ </body>
1901
+ </html>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/machine.config ADDED
@@ -0,0 +1,310 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <configuration>
4
+
5
+ <configSections>
6
+ <section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
7
+ <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
8
+ <section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
9
+ <section name="mscorlib" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
10
+ <section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
11
+ <section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
12
+ <section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
13
+ <section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
14
+ <section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
15
+ <section name="system.diagnostics" type="System.Diagnostics.SystemDiagnosticsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
16
+ <section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
17
+ <section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
18
+ <section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
19
+ <section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
20
+ <section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
21
+ <sectionGroup name="system.runtime.serialization" type="System.Runtime.Serialization.Configuration.SerializationSectionGroup, System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
22
+ <section name="dataContractSerializer" type="System.Runtime.Serialization.Configuration.DataContractSerializerSection, System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
23
+ </sectionGroup>
24
+ <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
25
+ <section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
26
+ <section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
27
+ <section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
28
+ <section name="browserCaps" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
29
+ <section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
30
+ <section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
31
+ <section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
32
+ <section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" />
33
+ <section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
34
+ <section name="healthMonitoring" type="System.Web.Configuration.HealthMonitoringSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
35
+ <section name="hostingEnvironment" type="System.Web.Configuration.HostingEnvironmentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
36
+ <section name="httpCookies" type="System.Web.Configuration.HttpCookiesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
37
+ <section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
38
+ <section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
39
+ <section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
40
+ <section name="identity" type="System.Web.Configuration.IdentitySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
41
+ <section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
42
+ <section name="membership" type="System.Web.Configuration.MembershipSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
43
+ <section name="mobileControls" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
44
+ <section name="deviceFilters" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
45
+ <section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
46
+ <section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
47
+ <section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
48
+ <section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
49
+ <section name="securityPolicy" type="System.Web.Configuration.SecurityPolicySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
50
+ <section name="sessionPageState" type="System.Web.Configuration.SessionPageStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
51
+ <section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
52
+ <section name="siteMap" type="System.Web.Configuration.SiteMapSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
53
+ <section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
54
+ <section name="trust" type="System.Web.Configuration.TrustSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
55
+ <section name="urlMappings" type="System.Web.Configuration.UrlMappingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
56
+ <section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
57
+ <section name="webParts" type="System.Web.Configuration.WebPartsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
58
+ <section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
59
+ <section name="xhtmlConformance" type="System.Web.Configuration.XhtmlConformanceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
60
+ <sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
61
+ <section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
62
+ <section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
63
+ <section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
64
+ <section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
65
+ </sectionGroup>
66
+ <section name="monoSettings" type="System.Web.Configuration.MonoSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
67
+ </sectionGroup>
68
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
69
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
70
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
71
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
72
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
73
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
74
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
75
+ <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
76
+ </sectionGroup>
77
+ </sectionGroup>
78
+ </sectionGroup>
79
+ <sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
80
+ <section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
81
+ <section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
82
+ <section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
83
+ <sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
84
+ <section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
85
+ </sectionGroup>
86
+ <section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
87
+ <section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
88
+ <section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
89
+ </sectionGroup>
90
+ <section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
91
+ <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
92
+ <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
93
+ <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
94
+ <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
95
+ <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
96
+ <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
97
+ <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
98
+ <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
99
+ <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
100
+ <section name="standardEndpoints" type="System.ServiceModel.Configuration.StandardEndpointsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
101
+ <section name="routing" type="System.ServiceModel.Routing.Configuration.RoutingSection, System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
102
+ <section name="protocolMapping" type="System.ServiceModel.Configuration.ProtocolMappingSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
103
+ </sectionGroup>
104
+ <sectionGroup name="system.transactions" type="System.Transactions.Configuration.TransactionsSectionGroup, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null">
105
+ <section name="defaultSettings" type="System.Transactions.Configuration.DefaultSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/>
106
+ <section name="machineSettings" type="System.Transactions.Configuration.MachineSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
107
+ </sectionGroup>
108
+ <section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
109
+ <section name="uri" type="System.Configuration.UriSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
110
+ <sectionGroup name="system.runtime.caching" type="System.Runtime.Caching.Configuration.CachingSectionGroup, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
111
+ <section name="memoryCache" type="System.Runtime.Caching.Configuration.MemoryCacheSection, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
112
+ </sectionGroup>
113
+ </configSections>
114
+
115
+ <connectionStrings>
116
+ <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
117
+ <add name="LocalSqliteServer" connectionString="Data Source=|DataDirectory|/aspnetdb.sqlite;version=3" providerName="Mono.Data.Sqlite"/>
118
+ </connectionStrings>
119
+
120
+ <configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
121
+ <providers>
122
+ <add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
123
+ description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
124
+ <add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
125
+ description="" useMachineProtection="true" keyEntropy="" />
126
+ </providers>
127
+ </configProtectedData>
128
+
129
+ <system.net>
130
+ <authenticationModules>
131
+ <add type="System.Net.BasicClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
132
+ <add type="System.Net.DigestClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
133
+ <add type="System.Net.NtlmClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
134
+ </authenticationModules>
135
+ <webRequestModules>
136
+ <add prefix="http" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
137
+ <add prefix="https" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
138
+ <add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
139
+ <add prefix="ftp" type="System.Net.FtpWebRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
140
+ </webRequestModules>
141
+ </system.net>
142
+
143
+ <system.runtime.remoting>
144
+ <application>
145
+ <channels>
146
+ <channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
147
+ <channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
148
+ <channel ref="ipc client" displayName="ipc client (delay loaded)" delayLoadAsClientChannel="true" />
149
+ </channels>
150
+ </application>
151
+ <channels>
152
+ <channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
153
+ <channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
154
+ <channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
155
+ <channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
156
+ <channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
157
+ <channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
158
+ <channel id="ipc" type="System.Runtime.Remoting.Channels.Ipc.IpcChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
159
+ <channel id="ipc client" type="System.Runtime.Remoting.Channels.Ipc.IpcClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
160
+ <channel id="ipc server" type="System.Runtime.Remoting.Channels.Ipc.IpcServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
161
+ </channels>
162
+ <channelSinkProviders>
163
+ <clientProviders>
164
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
165
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
166
+ </clientProviders>
167
+ <serverProviders>
168
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
169
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
170
+ <provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
171
+ </serverProviders>
172
+ </channelSinkProviders>
173
+ </system.runtime.remoting>
174
+
175
+ <appSettings>
176
+ <!--<add key="yourkey" value="your value" /> -->
177
+ <!--<remove key="a key defined higher in the hierarchy" /> -->
178
+ <!--<clear/> Removes all defined settings -->
179
+ </appSettings>
180
+ <system.diagnostics>
181
+ <trace autoflush="false" indentsize="4" />
182
+ </system.diagnostics>
183
+ <system.drawing>
184
+ </system.drawing>
185
+
186
+ <system.data>
187
+ <DbProviderFactories>
188
+ <add name="Mono Sqlite Data Provider" invariant="Mono.Data.SqliteClient"
189
+ description="Mono Framework Data Provider for SQLite (old version)"
190
+ type="Mono.Data.SqliteClient.SqliteFactory, Mono.Data.SqliteClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
191
+ <add name="Mono Sqlite Provider" invariant="Mono.Data.Sqlite"
192
+ description="Mono Framework Data Provider for SQLite (new version)"
193
+ type="Mono.Data.Sqlite.SqliteFactory, Mono.Data.Sqlite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
194
+ <add name="Odbc Data Provider" invariant="System.Data.Odbc"
195
+ description=".Net Framework Data Provider for Odbc"
196
+ type="System.Data.Odbc.OdbcFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
197
+ <add name="OleDb Data Provider" invariant="System.Data.OleDb"
198
+ description=".Net Framework Data Provider for OleDb"
199
+ type="System.Data.OleDb.OleDbFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
200
+ <add name="OracleClient Data Provider" invariant="System.Data.OracleClient"
201
+ description=".Net Framework Data Provider for Oracle"
202
+ type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
203
+ <add name="SqlClient Data Provider" invariant="System.Data.SqlClient"
204
+ description=".Net Framework Data Provider for SqlServer"
205
+ type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
206
+ <add name="Sybase Data Provider" invariant="Mono.Data.SybaseClient"
207
+ description=".Net Framework Data Provider for Sybase"
208
+ type="Mono.Data.SybaseClient.SybaseClientFactory, Mono.Data.SybaseClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
209
+ </DbProviderFactories>
210
+ </system.data>
211
+
212
+ <mscorlib>
213
+ <cryptographySettings>
214
+ <cryptoNameMapping>
215
+ <cryptoClasses>
216
+ <cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
217
+ <cryptoClass monoMD4="Mono.Security.Cryptography.MD4Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
218
+ </cryptoClasses>
219
+ <nameEntry name="MD2" class="monoMD2" />
220
+ <nameEntry name="MD4" class="monoMD4" />
221
+ </cryptoNameMapping>
222
+ <oidMap>
223
+ <oidEntry OID="1.2.840.113549.2.2" name="MD2" />
224
+ <oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
225
+ <oidEntry OID="1.2.840.113549.2.4" name="MD4" />
226
+ <oidEntry OID="1.2.840.113549.2.4" name="Mono.Security.Cryptography.MD4Managed" />
227
+ </oidMap>
228
+ </cryptographySettings>
229
+ </mscorlib>
230
+
231
+ <strongNames>
232
+ <pubTokenMapping>
233
+ <!-- ECMA key -->
234
+ <map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
235
+ <!-- Microsoft (final) key -->
236
+ <map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
237
+ <!-- Microsoft (Web Service Enhancement) key -->
238
+ <map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
239
+ <!-- IBM (DB2 Data Provider) key -->
240
+ <map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
241
+ <!-- Silverlight 2.0 key -->
242
+ <map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
243
+ <!-- XNA Framework key -->
244
+ <map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
245
+ </pubTokenMapping>
246
+ </strongNames>
247
+
248
+ <system.web>
249
+ <webServices>
250
+ <protocols>
251
+ <add name="HttpSoap"/>
252
+ <add name="HttpSoap12"/>
253
+ <add name="HttpPost"/>
254
+ <add name="HttpGet"/>
255
+ <add name="Documentation"/>
256
+ </protocols>
257
+ <conformanceWarnings>
258
+ <add name="BasicProfile1_1"/>
259
+ </conformanceWarnings>
260
+ <wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
261
+ </webServices>
262
+
263
+ <membership>
264
+ <providers>
265
+ <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
266
+ <!-- <add name="AspNetSqlMembershipProvider" type="Mainsoft.Web.Security.GenericMembershipProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
267
+ </providers>
268
+ </membership>
269
+
270
+ <roleManager>
271
+ <providers>
272
+ <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="LocalSqlServer" />
273
+ <!-- <add name="AspNetSqlRoleProvider" type="Mainsoft.Web.Security.GenericRoleProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
274
+ </providers>
275
+ </roleManager>
276
+
277
+ <profile>
278
+ <providers>
279
+ <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
280
+ </providers>
281
+ </profile>
282
+ </system.web>
283
+
284
+
285
+ <system.serviceModel>
286
+ <extensions>
287
+ <behaviorExtensions>
288
+ <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
289
+ <add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
290
+ </behaviorExtensions>
291
+ <bindingElementExtensions>
292
+ <add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
293
+ </bindingElementExtensions>
294
+ <bindingExtensions>
295
+ <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
296
+ </bindingExtensions>
297
+ <endpointExtensions>
298
+ <add name="dynamicEndpoint" type="System.ServiceModel.Discovery.Configuration.DynamicEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
299
+ <add name="discoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.DiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
300
+ <add name="udpDiscoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpDiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
301
+ <add name="announcementEndpoint" type="System.ServiceModel.Discovery.Configuration.AnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
302
+ <add name="udpAnnouncementEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpAnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
303
+ <add name="webHttpEndpoint" type="System.ServiceModel.Configuration.WebHttpEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
304
+ <add name="webScriptEndpoint" type="System.ServiceModel.Configuration.WebScriptEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
305
+ </endpointExtensions>
306
+ </extensions>
307
+ </system.serviceModel>
308
+ </configuration>
309
+
310
+
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/settings.map ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <settingsMap>
3
+ <map sectionType="System.Web.Configuration.MembershipSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
4
+ mapperType="Mono.Web.Util.MembershipSectionMapper, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
5
+ platform="Unix">
6
+
7
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
8
+ any expression understood by the mapper to designate the section region to modify.
9
+ -->
10
+ <what value="providers">
11
+ <!-- 'what' can contain any number of occurrences of any three elements:
12
+ replace - replace the designated region
13
+ add - add a new entry to the region
14
+ clear - clear the region
15
+ remove - remove the designatedregion
16
+
17
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
18
+ mapper to peruse.
19
+ -->
20
+ <replace name="AspNetSqlMembershipProvider"
21
+ type="System.Web.Security.SqliteMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
22
+ connectionStringName="LocalSqliteServer" />
23
+ </what>
24
+ </map>
25
+
26
+ <map sectionType="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
27
+ mapperType="Mono.Web.Util.RoleManagerSectionMapper, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
28
+ platform="Unix">
29
+
30
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
31
+ any expression understood by the mapper to designate the section region to modify.
32
+ -->
33
+ <what value="providers">
34
+ <!-- 'what' can contain any number of occurrences of any three elements:
35
+ replace - replace the designated region
36
+ add - add a new entry to the region
37
+ clear - clear the region
38
+ remove - remove the designatedregion
39
+
40
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
41
+ mapper to peruse.
42
+ -->
43
+ <replace name="AspNetSqlRoleProvider"
44
+ type="System.Web.Security.SqliteRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
45
+ connectionStringName="LocalSqliteServer" />
46
+ </what>
47
+ </map>
48
+ </settingsMap>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/4.5/web.config ADDED
@@ -0,0 +1,252 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <configuration>
4
+
5
+ <system.codedom>
6
+ <compilers>
7
+ <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
8
+ <providerOption name="CompilerVersion" value="v4.0"/>
9
+ <providerOption name="WarnAsError" value="false"/>
10
+ </compiler>
11
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
12
+ <providerOption name="CompilerVersion" value="v4.0"/>
13
+ <providerOption name="OptionInfer" value="true"/>
14
+ <providerOption name="WarnAsError" value="false"/>
15
+ </compiler>
16
+ </compilers>
17
+ </system.codedom>
18
+
19
+ <system.web>
20
+ <monoSettings>
21
+ <compilersCompatibility>
22
+ <compiler language="c#;cs;csharp" extension=".cs" compilerOptions="/nowarn:0169"
23
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
24
+ </compilersCompatibility>
25
+ </monoSettings>
26
+
27
+ <authorization>
28
+ <allow users="*" />
29
+ </authorization>
30
+ <httpHandlers>
31
+ <add path="trace.axd" verb="*" type="System.Web.Handlers.TraceHandler" validate="True" />
32
+ <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />
33
+ <add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
34
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
35
+ <add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True" />
36
+ <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" />
37
+ <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" />
38
+ <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
39
+ <add path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" />
40
+ <add path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" />
41
+ <add path="*.asax" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
42
+ <add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
43
+ <add path="*.master" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
44
+ <add path="*.skin" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
45
+ <add path="*.browser" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
46
+ <add path="*.sitemap" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
47
+ <add path="*.dll.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
48
+ <add path="*.exe.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
49
+ <add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
50
+ <add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
51
+ <add path="*.csproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
52
+ <add path="*.vb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
53
+ <add path="*.vbproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
54
+ <add path="*.webinfo" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
55
+ <add path="*.licx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
56
+ <add path="*.resx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
57
+ <add path="*.resources" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
58
+ <add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
59
+ <add path="*.vjsproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
60
+ <add path="*.java" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
61
+ <add path="*.jsl" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
62
+ <add path="*.ldb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
63
+ <add path="*.ad" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
64
+ <add path="*.dd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
65
+ <add path="*.ldd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
66
+ <add path="*.sd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
67
+ <add path="*.cd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
68
+ <add path="*.adprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
69
+ <add path="*.lddprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
70
+ <add path="*.sdm" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
71
+ <add path="*.sdmDocument" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
72
+ <add path="*.mdf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
73
+ <add path="*.ldf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
74
+ <add path="*.exclude" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
75
+ <add path="*.refresh" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
76
+ <!--
77
+ <add path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
78
+ -->
79
+ <add verb="*" path="*.svc" type="System.ServiceModel.Channels.SvcHttpHandlerFactory, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
80
+ <add path="*.rules" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/>
81
+ <!--
82
+ <add path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
83
+ <add path="*.xamlx" verb="*" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
84
+ -->
85
+ <add path="*" verb="GET,HEAD,POST" type="System.Web.DefaultHttpHandler" validate="True" />
86
+ <add path="*" verb="*" type="System.Web.HttpMethodNotAllowedHandler" validate="True" />
87
+ </httpHandlers>
88
+ <httpModules>
89
+ <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
90
+ <add name="Session" type="System.Web.SessionState.SessionStateModule" />
91
+ <!--
92
+ <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
93
+ -->
94
+ <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
95
+ <!--
96
+ <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule" />
97
+ -->
98
+ <add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
99
+ <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
100
+ <!--
101
+ <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" />
102
+ -->
103
+ <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" />
104
+ <add name="Profile" type="System.Web.Profile.ProfileModule" />
105
+ <!--
106
+ <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
107
+ <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
108
+ -->
109
+ <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />
110
+ <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
111
+ </httpModules>
112
+ <authentication mode="Forms">
113
+ <forms name=".MONOAUTH" loginUrl="login.aspx" protection="All" timeout="30" path="/">
114
+ <credentials passwordFormat="Clear">
115
+ </credentials>
116
+ </forms>
117
+ </authentication>
118
+ <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" />
119
+ <globalization requestEncoding="utf-8"
120
+ responseEncoding="utf-8"
121
+ fileEncoding="utf-8"/>
122
+ <!--
123
+ culture="en-US"
124
+ uiculture="en-US" />
125
+ -->
126
+ <sessionState mode="InProc" />
127
+ <pages>
128
+ <namespaces>
129
+ <add namespace="System" />
130
+ <add namespace="System.Collections" />
131
+ <add namespace="System.Collections.Specialized" />
132
+ <add namespace="System.Configuration" />
133
+ <add namespace="System.Text" />
134
+ <add namespace="System.Text.RegularExpressions" />
135
+ <add namespace="System.Web" />
136
+ <add namespace="System.Web.Caching" />
137
+ <add namespace="System.Web.SessionState" />
138
+ <add namespace="System.Web.Security" />
139
+ <add namespace="System.Web.Profile" />
140
+ <add namespace="System.Web.UI" />
141
+ <add namespace="System.Web.UI.WebControls" />
142
+ <!-- <add namespace="System.Web.UI.WebControls.WebParts" /> -->
143
+ <add namespace="System.Web.UI.HtmlControls" />
144
+ </namespaces>
145
+
146
+ <controls>
147
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls.WebParts" assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
148
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
149
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
150
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls.Expressions" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
151
+ <add tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
152
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
153
+ </controls>
154
+ </pages>
155
+ <webControls clientScriptsLocation="/web_scripts" />
156
+ <compilation debug="false" defaultLanguage="c#" explicit="true" strict="false" >
157
+ <assemblies>
158
+ <!-- <add assembly="mscorlib" /> -->
159
+ <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
160
+ <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
161
+ <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
162
+ <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
163
+ <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
164
+ <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
165
+ <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
166
+ <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
167
+ <add assembly="System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
168
+ <!-- <add assembly="System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> -->
169
+ <add assembly="System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
170
+ <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
171
+ <add assembly="System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
172
+ <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
173
+ <!-- <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
174
+ <!-- <add assembly="System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
175
+ <add assembly="System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
176
+ <!-- <add assembly="System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
177
+ <!-- <add assembly="System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
178
+ <!-- <add assembly="System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
179
+ <!-- <add assembly="System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
180
+ <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
181
+ <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
182
+ <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
183
+ <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
184
+ <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
185
+ <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
186
+ <!-- <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
187
+ <!-- <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> -->
188
+ <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
189
+ <!-- <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
190
+ <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
191
+ <add assembly="*" /> <!-- Add assemblies in bin directory -->
192
+ </assemblies>
193
+ <expressionBuilders>
194
+ <add expressionPrefix="Resources"
195
+ type="System.Web.Compilation.ResourceExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
196
+ <add expressionPrefix="ConnectionStrings"
197
+ type="System.Web.Compilation.ConnectionStringsExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
198
+ <add expressionPrefix="AppSettings"
199
+ type="System.Web.Compilation.AppSettingsExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
200
+ <add expressionPrefix="RouteUrl" type="System.Web.Compilation.RouteUrlExpressionBuilder"/>
201
+ <!--
202
+ <add expressionPrefix="RouteValue" type="System.Web.Compilation.RouteValueExpressionBuilder"/>
203
+ -->
204
+ </expressionBuilders>
205
+ <buildProviders>
206
+ <add extension=".aspx" type="System.Web.Compilation.PageBuildProvider" />
207
+ <add extension=".ascx" type="System.Web.Compilation.UserControlBuildProvider" />
208
+ <add extension=".master" type="System.Web.Compilation.MasterPageBuildProvider" />
209
+ <add extension=".asmx" type="System.Web.Compilation.WebServiceBuildProvider" />
210
+ <add extension=".ashx" type="System.Web.Compilation.WebHandlerBuildProvider" />
211
+ <add extension=".soap" type="System.Web.Compilation.WebServiceBuildProvider" />
212
+ <add extension=".resx" type="System.Web.Compilation.ResXBuildProvider" />
213
+ <add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider" />
214
+ <add extension=".wsdl" type="System.Web.Compilation.WsdlBuildProvider" />
215
+ <add extension=".xsd" type="System.Web.Compilation.XsdBuildProvider" />
216
+ <add extension=".js" type="System.Web.Compilation.ForceCopyBuildProvider" />
217
+ <add extension=".lic" type="System.Web.Compilation.IgnoreFileBuildProvider" />
218
+ <add extension=".licx" type="System.Web.Compilation.IgnoreFileBuildProvider" />
219
+ <add extension=".exclude" type="System.Web.Compilation.IgnoreFileBuildProvider" />
220
+ <add extension=".refresh" type="System.Web.Compilation.IgnoreFileBuildProvider" />
221
+ <!--
222
+ <add extension=".edmx" type="System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider" />
223
+ <add extension=".xoml" type="System.ServiceModel.Activation.WorkflowServiceBuildProvider, System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
224
+ <add extension=".svc" type="System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
225
+ <add extension=".xamlx" type="System.Xaml.Hosting.XamlBuildProvider, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
226
+ -->
227
+ </buildProviders>
228
+ </compilation>
229
+ <httpRuntime executionTimeout="110"
230
+ maxRequestLength="4096"
231
+ useFullyQualifiedRedirectUrl="false"
232
+ minFreeThreads="8"
233
+ minLocalRequestFreeThreads="4"
234
+ appRequestQueueLimit="5000" />
235
+ <clientTarget>
236
+ <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
237
+ <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
238
+ <add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
239
+ <add alias="downlevel" userAgent="Unknown" />
240
+ </clientTarget>
241
+
242
+ <siteMap>
243
+ <providers>
244
+ <add name="AspNetXmlSiteMapProvider"
245
+ description="Default site map provider that reads in .sitemap xml files."
246
+ type="System.Web.XmlSiteMapProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
247
+ siteMapFile="Web.sitemap" />
248
+ </providers>
249
+ </siteMap>
250
+ </system.web>
251
+
252
+ </configuration>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/browscap.ini ADDED
The diff for this file is too large to render. See raw diff
 
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/config ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <configuration>
2
+ <dllmap dll="i:cygwin1.dll" target="libc.so.6" os="!windows" />
3
+ <dllmap dll="libc" target="libc.so.6" os="!windows"/>
4
+ <dllmap dll="intl" target="libc.so.6" os="!windows"/>
5
+ <dllmap dll="intl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/>
6
+ <dllmap dll="libintl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/>
7
+ <dllmap dll="libintl" target="libc.so.6" os="!windows"/>
8
+ <dllmap dll="i:libxslt.dll" target="libxslt.so" os="!windows"/>
9
+ <dllmap dll="i:odbc32.dll" target="libodbc.so.2" os="!windows"/>
10
+ <dllmap dll="i:odbc32.dll" target="libiodbc.dylib" os="osx"/>
11
+ <dllmap dll="oci" target="libclntsh.so" os="!windows"/>
12
+ <dllmap dll="db2cli" target="libdb2_36.so" os="!windows"/>
13
+ <dllmap dll="MonoPosixHelper" target="libMonoPosixHelper.so" os="!windows" />
14
+ <dllmap dll="System.Native" target="$mono_libdir/libmono-native.so" os="!windows" />
15
+ <dllmap dll="System.Net.Security.Native" target="$mono_libdir/libmono-native.so" os="!windows" />
16
+ <dllmap dll="System.Security.Cryptography.Native.Apple" target="$mono_libdir/libmono-native.so" os="osx" />
17
+ <dllmap dll="libmono-btls-shared" target="libmono-btls-shared.so" os="!windows" />
18
+ <dllmap dll="i:msvcrt" target="libc.so.6" os="!windows"/>
19
+ <dllmap dll="i:msvcrt.dll" target="libc.so.6" os="!windows"/>
20
+ <dllmap dll="sqlite" target="libsqlite.so.0" os="!windows"/>
21
+ <dllmap dll="sqlite3" target="libsqlite3.so.0" os="!windows"/>
22
+ <dllmap dll="libX11" target="libX11.so.6" os="!windows" />
23
+ <dllmap dll="libgdk-x11-2.0" target="libgdk-x11-2.0.so.0" os="!windows"/>
24
+ <dllmap dll="libgdk_pixbuf-2.0" target="libgdk_pixbuf-2.0.so.0" os="!windows"/>
25
+ <dllmap dll="libgtk-x11-2.0" target="libgtk-x11-2.0.so.0" os="!windows"/>
26
+ <dllmap dll="libglib-2.0" target="libglib-2.0.so.0" os="!windows"/>
27
+ <dllmap dll="libgobject-2.0" target="libgobject-2.0.so.0" os="!windows"/>
28
+ <dllmap dll="libgnomeui-2" target="libgnomeui-2.so.0" os="!windows"/>
29
+ <dllmap dll="librsvg-2" target="librsvg-2.so.2" os="!windows"/>
30
+ <dllmap dll="libXinerama" target="libXinerama.so.1" os="!windows" />
31
+ <dllmap dll="libasound" target="libasound.so.2" os="!windows" />
32
+ <dllmap dll="libcairo-2.dll" target="libcairo.so.2" os="!windows"/>
33
+ <dllmap dll="libcairo-2.dll" target="libcairo.2.dylib" os="osx"/>
34
+ <dllmap dll="libcups" target="libcups.so.2" os="!windows"/>
35
+ <dllmap dll="libcups" target="libcups.dylib" os="osx"/>
36
+ <dllmap dll="i:kernel32.dll">
37
+ <dllentry dll="__Internal" name="CopyMemory" target="mono_win32_compat_CopyMemory"/>
38
+ <dllentry dll="__Internal" name="FillMemory" target="mono_win32_compat_FillMemory"/>
39
+ <dllentry dll="__Internal" name="MoveMemory" target="mono_win32_compat_MoveMemory"/>
40
+ <dllentry dll="__Internal" name="ZeroMemory" target="mono_win32_compat_ZeroMemory"/>
41
+ </dllmap>
42
+ <dllmap dll="gdiplus" target="libgdiplus.so.0" os="!windows"/>
43
+ <dllmap dll="gdiplus.dll" target="libgdiplus.so.0" os="!windows"/>
44
+ <dllmap dll="gdi32" target="libgdiplus.so.0" os="!windows"/>
45
+ <dllmap dll="gdi32.dll" target="libgdiplus.so.0" os="!windows"/>
46
+
47
+ <!-- Some .net base class library code pinvokes into api-ms-win-core-threadpool-l1-2-0.dll. The only thing this library does is forward the call
48
+ to kernel32.dll (on windows desktop, versions on other platforms might forward elsewhere. Unfortunately this library did not ship with windows7.
49
+ We're using the dll remap functionality in this file to have mono directly route these calls into kernel32, just like the library would do so that
50
+ the BCL code that relies on this can work on windows7 again. This functionality that does not work without this workaround includes NamedServerPipeStream.
51
+ -->
52
+ <dllmap dll="api-ms-win-core-threadpool-l1-2-0.dll" target="kernel32.dll" os="windows"/>
53
+ </configuration>
build/linuxBuild_Data/MonoBleedingEdge/etc/mono/mconfig/config.xml ADDED
@@ -0,0 +1,616 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <mconfig>
3
+ <configuration>
4
+ <handlers>
5
+ <handler section="feature"
6
+ type="Mono.MonoConfig.FeatureNodeHandler, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null"
7
+ storageType="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Mono.MonoConfig.FeatureNode, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
8
+ <handler section="configBlock"
9
+ type="Mono.MonoConfig.ConfigBlockNodeHandler, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null"
10
+ storageType="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Mono.MonoConfig.ConfigBlockBlock, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
11
+ <handler section="default"
12
+ type="Mono.MonoConfig.DefaultNodeHandler, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null"
13
+ storageType="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Mono.MonoConfig.DefaultNode, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
14
+ <handler section="defaultConfigFile"
15
+ type="Mono.MonoConfig.DefaultConfigFileNodeHandler, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null"
16
+ storageType="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Mono.MonoConfig.DefaultConfigFile, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
17
+ </handlers>
18
+ </configuration>
19
+
20
+ <feature name="AJAX" target="web">
21
+ <description><![CDATA[
22
+ Adds entries to your Web.config file which are required by any .NET 3.5 AJAX.NET application.
23
+ ]]></description>
24
+ <blocks>
25
+ <block name="AJAX config sections"/>
26
+ <block name="AJAX controls registration"/>
27
+ <block name="AJAX compilation"/>
28
+ <block name="AJAX HTTP handlers"/>
29
+ <block name="AJAX HTTP modules"/>
30
+ <block name="AJAX CodeDOM 3.5 settings"/>
31
+ <block name="AJAX runtime settings"/>
32
+ <block name="AJAX system.webServer"/>
33
+ <block name="" />
34
+ </blocks>
35
+ </feature>
36
+
37
+ <feature name="AJAX1" target="web">
38
+ <description><![CDATA[
39
+ Adds entries to your Web.config file which are required by any AJAX.NET 1.0 application.
40
+ ]]></description>
41
+ <blocks>
42
+ <block name="AJAX1 config sections"/>
43
+ <block name="AJAX1 controls registration"/>
44
+ <block name="AJAX1 compilation"/>
45
+ <block name="AJAX1 HTTP handlers"/>
46
+ <block name="AJAX1 HTTP modules"/>
47
+ <block name="AJAX1 system.web.extensions"/>
48
+ <block name="AJAX1 system.webServer"/>
49
+ <block name="" />
50
+ </blocks>
51
+ </feature>
52
+
53
+ <feature name="DynamicData" target="web">
54
+ <description><![CDATA[
55
+ Adds entries to your Web.config file which are required by any ASP.NET DynamicData application.
56
+ ]]></description>
57
+ <blocks>
58
+ <block name="AJAX config sections"/>
59
+ <block name="AJAX controls registration"/>
60
+ <block name="AJAX compilation"/>
61
+ <block name="AJAX HTTP handlers"/>
62
+ <block name="AJAX HTTP modules"/>
63
+ <block name="AJAX system.web.extensions"/>
64
+ <block name="AJAX system.webServer"/>
65
+
66
+ <block name="DynamicData controls registration" />
67
+ <block name="DynamicData compilation" />
68
+ <block name="DynamicData HTTP modules" />
69
+ </blocks>
70
+ </feature>
71
+
72
+ <feature name="SettingsMapProtection" target="web">
73
+ <description><![CDATA[
74
+ Adds an entry to your config file which will prevent download of the 'settings.map' file. The
75
+ file is used by the settings mapping manager to modify configuration settings depending on the operating
76
+ system under which your application runs. Add this feature only if you have your own custom 'settings.map'
77
+ file in the top-level directory of your ASP.NET application.
78
+ ]]></description>
79
+ <blocks>
80
+ <block name="SettingsMap Handler"/>
81
+ </blocks>
82
+ </feature>
83
+
84
+ <!-- configuration blocks required by the features -->
85
+ <configBlock name="SettingsMap Handler">
86
+ <requires>
87
+ <section name="configuration">
88
+ <section name="system.web">
89
+ <section name="httpHandlers" defaultBlockName="system.web.httpHandlers"/>
90
+ </section>
91
+ </section>
92
+ </requires>
93
+
94
+ <contents>
95
+ <![CDATA[
96
+ <add verb="*" path="settings.map" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
97
+ ]]>
98
+ </contents>
99
+ </configBlock>
100
+
101
+ <!-- AJAX.NET 3.5 start -->
102
+ <configBlock name="AJAX config sections">
103
+ <requires>
104
+ <section name="configuration">
105
+ <section name="configSections" attachPoint="true"/>
106
+ </section>
107
+ </requires>
108
+
109
+ <contents>
110
+ <![CDATA[
111
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
112
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
113
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
114
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
115
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
116
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
117
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
118
+ <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
119
+ </sectionGroup>
120
+ </sectionGroup>
121
+ </sectionGroup>
122
+ ]]>
123
+ </contents>
124
+ </configBlock>
125
+
126
+ <configBlock name="AJAX controls registration">
127
+ <requires>
128
+ <section name="configuration">
129
+ <section name="system.web">
130
+ <section name="pages" defaultBlockName="system.web.pages">
131
+ <section name="controls" defaultBlockName="system.web.pages.controls"/>
132
+ </section>
133
+ </section>
134
+ </section>
135
+ </requires>
136
+
137
+ <contents>
138
+ <![CDATA[
139
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
140
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
141
+ ]]>
142
+ </contents>
143
+ </configBlock>
144
+
145
+ <configBlock name="AJAX compilation">
146
+ <requires>
147
+ <section name="configuration">
148
+ <section name="system.web">
149
+ <section name="compilation" defaultBlockName="system.web.compilation">
150
+ <section name="assemblies" defaultBlockName="system.web.compilation.assemblies"/>
151
+ </section>
152
+ </section>
153
+ </section>
154
+ </requires>
155
+
156
+ <contents>
157
+ <![CDATA[
158
+ <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
159
+ <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
160
+ <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
161
+ <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
162
+
163
+ ]]>
164
+ </contents>
165
+ </configBlock>
166
+
167
+ <configBlock name="AJAX HTTP handlers">
168
+ <requires>
169
+ <section name="configuration">
170
+ <section name="system.web">
171
+ <section name="httpHandlers" defaultBlockName="system.web.httpHandlers"/>
172
+ </section>
173
+ </section>
174
+ </requires>
175
+
176
+ <contents>
177
+ <![CDATA[
178
+ <remove verb="*" path="*.asmx"/>
179
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
180
+ <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
181
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
182
+ ]]>
183
+ </contents>
184
+ </configBlock>
185
+
186
+ <configBlock name="AJAX HTTP modules">
187
+ <requires>
188
+ <section name="configuration">
189
+ <section name="system.web">
190
+ <section name="httpModules" defaultBlockName="system.web.httpModules"/>
191
+ </section>
192
+ </section>
193
+ </requires>
194
+
195
+ <contents>
196
+ <![CDATA[
197
+ <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
198
+ ]]>
199
+ </contents>
200
+ </configBlock>
201
+
202
+ <configBlock name="AJAX CodeDOM 3.5 settings">
203
+ <requires>
204
+ <section name="configuration">
205
+ <section name="system.codedom">
206
+ <section name="compilers" defaultBlockName="system.codedom.compilers"/>
207
+ </section>
208
+ </section>
209
+ </requires>
210
+
211
+ <contents>
212
+ <![CDATA[
213
+ <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
214
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
215
+ <providerOption name="CompilerVersion" value="v3.5"/>
216
+ <providerOption name="WarnAsError" value="false"/>
217
+ </compiler>
218
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4"
219
+ type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
220
+ <providerOption name="CompilerVersion" value="v3.5"/>
221
+ <providerOption name="OptionInfer" value="true"/>
222
+ <providerOption name="WarnAsError" value="false"/>
223
+ </compiler>
224
+ ]]>
225
+ </contents>
226
+ </configBlock>
227
+
228
+ <configBlock name="AJAX runtime settings">
229
+ <requires>
230
+ <section name="configuration">
231
+ <section name="runtime"/>
232
+ </section>
233
+ </requires>
234
+
235
+ <contents>
236
+ <![CDATA[
237
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
238
+ <dependentAssembly>
239
+ <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
240
+ <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
241
+ </dependentAssembly>
242
+ <dependentAssembly>
243
+ <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
244
+ <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
245
+ </dependentAssembly>
246
+ </assemblyBinding>
247
+ ]]>
248
+ </contents>
249
+ </configBlock>
250
+
251
+ <configBlock name="AJAX system.webServer">
252
+ <requires>
253
+ <section name="configuration">
254
+ <section name="system.webServer"/>
255
+ </section>
256
+ </requires>
257
+
258
+ <contents>
259
+ <![CDATA[
260
+ <validation validateIntegratedModeConfiguration="false"/>
261
+ <modules>
262
+ <remove name="ScriptModule" />
263
+ <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
264
+ </modules>
265
+ <handlers>
266
+ <remove name="WebServiceHandlerFactory-Integrated"/>
267
+ <remove name="ScriptHandlerFactory" />
268
+ <remove name="ScriptHandlerFactoryAppServices" />
269
+ <remove name="ScriptResource" />
270
+ <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
271
+ type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
272
+ <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
273
+ type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
274
+ <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
275
+ </handlers>
276
+ ]]>
277
+ </contents>
278
+ </configBlock>
279
+ <!-- AJAX.NET 3.5 end -->
280
+
281
+ <!-- AJAX.NET 1.0 start -->
282
+ <configBlock name="AJAX1 config sections">
283
+ <requires>
284
+ <section name="configuration">
285
+ <section name="configSections" attachPoint="true"/>
286
+ </section>
287
+ </requires>
288
+
289
+ <contents>
290
+ <![CDATA[
291
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
292
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
293
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
294
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
295
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
296
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
297
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
298
+ </sectionGroup>
299
+ </sectionGroup>
300
+ </sectionGroup>
301
+ ]]>
302
+ </contents>
303
+ </configBlock>
304
+
305
+ <configBlock name="AJAX1 controls registration">
306
+ <requires>
307
+ <section name="configuration">
308
+ <section name="system.web">
309
+ <section name="pages" defaultBlockName="system.web.pages">
310
+ <section name="controls" defaultBlockName="system.web.pages.controls"/>
311
+ </section>
312
+ </section>
313
+ </section>
314
+ </requires>
315
+
316
+ <contents>
317
+ <![CDATA[
318
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
319
+ ]]>
320
+ </contents>
321
+ </configBlock>
322
+
323
+ <configBlock name="AJAX1 compilation">
324
+ <requires>
325
+ <section name="configuration">
326
+ <section name="system.web">
327
+ <section name="compilation" defaultBlockName="system.web.compilation">
328
+ <section name="assemblies" defaultBlockName="system.web.compilation.assemblies"/>
329
+ </section>
330
+ </section>
331
+ </section>
332
+ </requires>
333
+
334
+ <contents>
335
+ <![CDATA[
336
+ <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
337
+ ]]>
338
+ </contents>
339
+ </configBlock>
340
+
341
+ <configBlock name="AJAX1 HTTP handlers">
342
+ <requires>
343
+ <section name="configuration">
344
+ <section name="system.web">
345
+ <section name="httpHandlers" defaultBlockName="system.web.httpHandlers"/>
346
+ </section>
347
+ </section>
348
+ </requires>
349
+
350
+ <contents>
351
+ <![CDATA[
352
+ <remove verb="*" path="*.asmx"/>
353
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
354
+ <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
355
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
356
+ ]]>
357
+ </contents>
358
+ </configBlock>
359
+
360
+ <configBlock name="AJAX1 HTTP modules">
361
+ <requires>
362
+ <section name="configuration">
363
+ <section name="system.web">
364
+ <section name="httpModules" defaultBlockName="system.web.httpModules"/>
365
+ </section>
366
+ </section>
367
+ </requires>
368
+
369
+ <contents>
370
+ <![CDATA[
371
+ <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
372
+ ]]>
373
+ </contents>
374
+ </configBlock>
375
+
376
+ <configBlock name="AJAX1 system.web.extensions">
377
+ <requires>
378
+ <section name="configuration">
379
+ <section name="system.web.extensions"/>
380
+ </section>
381
+ </requires>
382
+
383
+ <contents>
384
+ <![CDATA[
385
+ <scripting>
386
+ <webServices>
387
+ <!-- Uncomment this line to customize maxJsonLength and add a custom converter -->
388
+ <!--
389
+ <jsonSerialization maxJsonLength="500">
390
+ <converters>
391
+ <add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>
392
+ </converters>
393
+ </jsonSerialization>
394
+ -->
395
+ <!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
396
+ <!--
397
+ <authenticationService enabled="true" requireSSL = "true|false"/>
398
+ -->
399
+
400
+ <!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved
401
+ and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and
402
+ writeAccessProperties attributes. -->
403
+ <!--
404
+ <profileService enabled="true"
405
+ readAccessProperties="propertyname1,propertyname2"
406
+ writeAccessProperties="propertyname1,propertyname2" />
407
+ -->
408
+ </webServices>
409
+ <!--
410
+ <scriptResourceHandler enableCompression="true" enableCaching="true" />
411
+ -->
412
+ </scripting>
413
+ ]]>
414
+ </contents>
415
+ </configBlock>
416
+
417
+ <configBlock name="AJAX1 system.webServer">
418
+ <requires>
419
+ <section name="configuration">
420
+ <section name="system.webServer"/>
421
+ </section>
422
+ </requires>
423
+
424
+ <contents>
425
+ <![CDATA[
426
+ <validation validateIntegratedModeConfiguration="false"/>
427
+ <modules>
428
+ <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
429
+ </modules>
430
+ <handlers>
431
+ <remove name="WebServiceHandlerFactory-Integrated" />
432
+ <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
433
+ type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
434
+ <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
435
+ type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
436
+ <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
437
+ </handlers>
438
+ ]]>
439
+ </contents>
440
+ </configBlock>
441
+ <!-- AJAX.NET 1.0 end -->
442
+
443
+ <configBlock name="DynamicData controls registration">
444
+ <requires>
445
+ <section name="configuration">
446
+ <section name="system.web">
447
+ <section name="pages" defaultBlockName="system.web.pages">
448
+ <section name="controls" defaultBlockName="system.web.pages.controls"/>
449
+ </section>
450
+ </section>
451
+ </section>
452
+ </requires>
453
+
454
+ <contents>
455
+ <![CDATA[
456
+ <add tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
457
+ ]]>
458
+ </contents>
459
+ </configBlock>
460
+
461
+ <configBlock name="DynamicData compilation">
462
+ <requires>
463
+ <section name="configuration">
464
+ <section name="system.web">
465
+ <section name="compilation" defaultBlockName="system.web.compilation">
466
+ <section name="assemblies" defaultBlockName="system.web.compilation.assemblies"/>
467
+ </section>
468
+ </section>
469
+ </section>
470
+ </requires>
471
+
472
+ <contents>
473
+ <![CDATA[
474
+ <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
475
+ <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
476
+ <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
477
+ <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
478
+ <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
479
+ <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
480
+ <add assembly="System.ComponentModel.DataAnnotations, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
481
+ <add assembly="System.Web.DynamicData, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
482
+ ]]>
483
+ </contents>
484
+ </configBlock>
485
+
486
+ <configBlock name="DynamicData HTTP modules">
487
+ <requires>
488
+ <section name="configuration">
489
+ <section name="system.web">
490
+ <section name="httpModules" defaultBlockName="system.web.httpModules"/>
491
+ </section>
492
+ </section>
493
+ </requires>
494
+
495
+ <contents>
496
+ <![CDATA[
497
+ <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
498
+ ]]>
499
+ </contents>
500
+ </configBlock>
501
+
502
+ <!-- default contents for missing sections -->
503
+ <default section="configuration" target="any">
504
+ <![CDATA[
505
+ <configuration>
506
+ </configuration>
507
+ ]]>
508
+ </default>
509
+
510
+ <default section="configSections" target="any">
511
+ <![CDATA[
512
+ <configSections>
513
+ </configSections>
514
+ ]]>
515
+ </default>
516
+
517
+ <default section="system.web" target="web">
518
+ <![CDATA[
519
+ <system.web>
520
+ </system.web>
521
+ ]]>
522
+ </default>
523
+
524
+ <default section="system.web.pages" target="web">
525
+ <![CDATA[
526
+ <pages>
527
+ </pages>
528
+ ]]>
529
+ </default>
530
+
531
+ <default section="system.web.pages.controls" target="web">
532
+ <![CDATA[
533
+ <controls>
534
+ </controls>
535
+ ]]>
536
+ </default>
537
+
538
+ <default section="system.web.compilation" target="web">
539
+ <![CDATA[
540
+ <compilation debug="true">
541
+ </compilation>
542
+ ]]>
543
+ </default>
544
+
545
+ <default section="system.web.compilation.assemblies" target="web">
546
+ <![CDATA[
547
+ <assemblies>
548
+ </assemblies>
549
+ ]]>
550
+ </default>
551
+
552
+ <default section="system.web.httpHandlers" target="web">
553
+ <![CDATA[
554
+ <httpHandlers>
555
+ </httpHandlers>
556
+ ]]>
557
+ </default>
558
+
559
+ <default section="system.web.httpModules" target="web">
560
+ <![CDATA[
561
+ <httpModules>
562
+ </httpModules>
563
+ ]]>
564
+ </default>
565
+
566
+ <default section="system.web.extensions" target="web">
567
+ <![CDATA[
568
+ <system.web.extensions>
569
+ </system.web.extensions>
570
+ ]]>
571
+ </default>
572
+
573
+ <default section="system.webServer" target="web">
574
+ <![CDATA[
575
+ <system.webServer>
576
+ </system.webServer>
577
+ ]]>
578
+ </default>
579
+
580
+ <default section="system.web.customErrors" target="web">
581
+ <![CDATA[
582
+ <customErrors mode="RemoteOnly"/>
583
+ ]]>
584
+ </default>
585
+
586
+ <default section="system.codedom" target="any">
587
+ <![CDATA[
588
+ <system.codedom>
589
+ </system.codedom>
590
+ ]]>
591
+ </default>
592
+
593
+ <default section="system.codedom.compilers" target="any">
594
+ <![CDATA[
595
+ <compilers>
596
+ </compilers>
597
+ ]]>
598
+ </default>
599
+
600
+ <default section="runtime" target="any">
601
+ <![CDATA[
602
+ <runtime>
603
+ </runtime>
604
+ ]]>
605
+ </default>
606
+
607
+ <!-- default config file definitions -->
608
+ <defaultConfigFile name="web.config" fileName="Web.config" target="web">
609
+ <section name="configuration">
610
+ <section name="system.web">
611
+ <section name="compilation" defaultBlockName="system.web.compilation"/>
612
+ <section name="customErrors" defaultBlockName="system.web.customErrors"/>
613
+ </section>
614
+ </section>
615
+ </defaultConfigFile>
616
+ </mconfig>
build/linuxBuild_Data/MonoBleedingEdge/x86_64/libMonoPosixHelper.so ADDED
Binary file (264 kB). View file
 
build/linuxBuild_Data/MonoBleedingEdge/x86_64/libmono-native.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bae308859819ab81a0d36cdd35bfe0df60724fcd197313f229f48c20a1a75ac6
3
+ size 2300288
build/linuxBuild_Data/MonoBleedingEdge/x86_64/libmonobdwgc-2.0.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:69d5e8462368a335b95c3bb2fdbdefad8f2ecb98c7786f84296b7442fe47514b
3
+ size 3872688
build/linuxBuild_Data/Resources/UnityPlayer.png ADDED
build/linuxBuild_Data/Resources/unity default resources ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ce1e520c596bf5808bc23eda45a1e5c7cbd6de2d8c00abf1a098977c6830b5f9
3
+ size 1550440
build/linuxBuild_Data/Resources/unity_builtin_extra ADDED
Binary file (562 kB). View file
 
build/linuxBuild_Data/RuntimeInitializeOnLoads.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"root":[{"assemblyName":"Mirror.Authenticators","nameSpace":"Mirror","className":"GeneratedNetworkCode","methodName":"InitReadWriters","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror.Components","nameSpace":"Mirror","className":"GeneratedNetworkCode","methodName":"InitReadWriters","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"NetworkClient","methodName":"Shutdown","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"NetworkDiagnostics","methodName":"ResetStatics","loadTypes":0,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"NetworkIdentity","methodName":"ResetStatics","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"NetworkLoop","methodName":"ResetStatics","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"NetworkLoop","methodName":"RuntimeInitializeOnLoad","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"NetworkManager","methodName":"ResetStatics","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"NetworkServer","methodName":"Shutdown","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"NetworkTime","methodName":"ResetStatics","loadTypes":0,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"ThreadLog","methodName":"Initialize","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror","nameSpace":"Mirror","className":"GeneratedNetworkCode","methodName":"InitReadWriters","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror.Examples","nameSpace":"Mirror.Examples.MultipleMatch","className":"CanvasController","methodName":"ResetStatics","loadTypes":1,"isUnityClass":false},{"assemblyName":"Mirror.Examples","nameSpace":"Mirror.Examples.Chat","className":"ChatAuthenticator","methodName":"ResetStatics","loadTypes":0,"isUnityClass":false},{"assemblyName":"Mirror.Examples","nameSpace":"Mirror","className":"GeneratedNetworkCode","methodName":"InitReadWriters","loadTypes":1,"isUnityClass":false},{"assemblyName":"Unity.VisualScripting.Core","nameSpace":"Unity.VisualScripting","className":"RuntimeVSUsageUtility","methodName":"RuntimeInitializeOnLoadBeforeSceneLoad","loadTypes":1,"isUnityClass":true}]}
build/linuxBuild_Data/ScriptingAssemblies.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"names":["UnityEngine.dll","UnityEngine.AIModule.dll","UnityEngine.AccessibilityModule.dll","UnityEngine.AndroidJNIModule.dll","UnityEngine.AnimationModule.dll","UnityEngine.AssetBundleModule.dll","UnityEngine.AudioModule.dll","UnityEngine.ClothModule.dll","UnityEngine.ClusterInputModule.dll","UnityEngine.ClusterRendererModule.dll","UnityEngine.ContentLoadModule.dll","UnityEngine.CoreModule.dll","UnityEngine.CrashReportingModule.dll","UnityEngine.DSPGraphModule.dll","UnityEngine.DirectorModule.dll","UnityEngine.GIModule.dll","UnityEngine.GameCenterModule.dll","UnityEngine.GridModule.dll","UnityEngine.HotReloadModule.dll","UnityEngine.IMGUIModule.dll","UnityEngine.ImageConversionModule.dll","UnityEngine.InputModule.dll","UnityEngine.InputLegacyModule.dll","UnityEngine.JSONSerializeModule.dll","UnityEngine.LocalizationModule.dll","UnityEngine.ParticleSystemModule.dll","UnityEngine.PerformanceReportingModule.dll","UnityEngine.PhysicsModule.dll","UnityEngine.Physics2DModule.dll","UnityEngine.ProfilerModule.dll","UnityEngine.PropertiesModule.dll","UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll","UnityEngine.ScreenCaptureModule.dll","UnityEngine.SharedInternalsModule.dll","UnityEngine.SpriteMaskModule.dll","UnityEngine.SpriteShapeModule.dll","UnityEngine.StreamingModule.dll","UnityEngine.SubstanceModule.dll","UnityEngine.SubsystemsModule.dll","UnityEngine.TLSModule.dll","UnityEngine.TerrainModule.dll","UnityEngine.TerrainPhysicsModule.dll","UnityEngine.TextCoreFontEngineModule.dll","UnityEngine.TextCoreTextEngineModule.dll","UnityEngine.TextRenderingModule.dll","UnityEngine.TilemapModule.dll","UnityEngine.UIModule.dll","UnityEngine.UIElementsModule.dll","UnityEngine.UmbraModule.dll","UnityEngine.UnityAnalyticsModule.dll","UnityEngine.UnityAnalyticsCommonModule.dll","UnityEngine.UnityConnectModule.dll","UnityEngine.UnityCurlModule.dll","UnityEngine.UnityTestProtocolModule.dll","UnityEngine.UnityWebRequestModule.dll","UnityEngine.UnityWebRequestAssetBundleModule.dll","UnityEngine.UnityWebRequestAudioModule.dll","UnityEngine.UnityWebRequestTextureModule.dll","UnityEngine.UnityWebRequestWWWModule.dll","UnityEngine.VFXModule.dll","UnityEngine.VRModule.dll","UnityEngine.VehiclesModule.dll","UnityEngine.VideoModule.dll","UnityEngine.VirtualTexturingModule.dll","UnityEngine.WindModule.dll","UnityEngine.XRModule.dll","Mirror.dll","Unity.VisualScripting.Core.dll","UnityEngine.UI.dll","Mirror.Transports.dll","Mirror.Components.dll","Unity.VisualScripting.Flow.dll","Telepathy.dll","Unity.Timeline.dll","SimpleWebTransport.dll","Mirror.Authenticators.dll","Mirror.Examples.dll","Edgegap.dll","Unity.TextMeshPro.dll","Unity.VisualScripting.State.dll","kcp2k.dll","Mirror.BouncyCastle.Cryptography.dll","Unity.VisualScripting.Antlr3.Runtime.dll","Newtonsoft.Json.dll"],"types":[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]}
build/linuxBuild_Data/app.info ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ DefaultCompany
2
+ MirrorDemos
build/linuxBuild_Data/boot.config ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ gfx-enable-gfx-jobs=1
2
+ gfx-enable-native-gfx-jobs=1
3
+ wait-for-native-debugger=0
4
+ hdr-display-enabled=0
5
+ gc-max-time-slice=3
6
+ build-guid=5d390b17301f418fa3bfd03456afef7d
build/linuxBuild_Data/globalgamemanagers ADDED
Binary file (84.9 kB). View file
 
build/linuxBuild_Data/globalgamemanagers.assets ADDED
Binary file (211 kB). View file
 
build/linuxBuild_Data/level0 ADDED
Binary file (4.66 kB). View file
 
build/linuxBuild_Data/sharedassets0.assets ADDED
Binary file (510 kB). View file