我正在使用Visual Studio(2012)创建Web服务.我不想打扰手动创建WSDL,但我真的希望能够使用XSD指定一些类型(或者全部),因为它使我能够限制某些元素(例如,需要一个元素存在).
我怎么能这样做,以便生成的自动生成的WSDL使用我的XSD(具有相同的约束)?
目的是使接口(WSDL)尽可能准确(比C#中的接口更精确).
我正在使用 Visual Studio 2015 和 .Net
\n\n我\xe2\x80\x99遇到了一个有点奇怪的问题。我有一个包含两个项目的 C# 解决方案。一个是标准 WPF 应用程序,另一个是 WPF 用户控件库。WPF 应用程序项目是启动项目。\n在每个项目中我都有一个窗口。在启动项目中,我打开窗口并使用 来在逻辑调用上下文中设置一个值CallContext.LogicalSetData。这是在加载时完成的。然后,我关闭该窗口并在 WPF 用户控件库中打开该窗口。我用逻辑调用上下文中的值填充一个文本框(使用CallContext.LogicalGetData),效果很好。\n我有一个按钮,单击该按钮会触发一个事件,该事件使用逻辑调用上下文 \xe2\x80\x93 中的相同值填充另一个文本框,但突然该值为空。
我可以简单地通过更改启动窗口来使其工作,使其在加载时不执行 \xe2\x80\x99s \xe2\x80\x9cthing\xe2\x80\x9d 操作,而是在按钮事件上执行。
\n\n启动窗口代码:
\n\npublic partial class MainWindow : Window\n{\n public MainWindow()\n {\n this.Loaded += OnLoaded;\n InitializeComponent();\n }\n\n private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)\n {\n CallContext.LogicalSetData("test", "value set onload");\n TestWindow win = new TestWindow();\n win.Show();\n this.Close();\n }\n\n private void button_Click(object sender, RoutedEventArgs e)\n {\n CallContext.LogicalSetData("test", "value set on button event");\n TestWindow win …Run Code Online (Sandbox Code Playgroud)