sol*_*hoe 6 c# web-services web-config soap-extension asmx
我需要使用一个SoapExtension子类(我已创建),但似乎这个类只能通过"web.config"文件初始化(虽然我已经读过它应该可以通过"app.config"文件 - 但是我不知道怎么做那种方式).问题:我的项目中没有web.config文件.所以我用以下内容手动创建了一个:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<webServices>
<soapExtensionTypes>
<add type="MyNameSpace.MySoapExtension,MyAssemblyFileName" priority="1"/>
</soapExtensionTypes>
</webServices>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
尽管在每个SoapExtension方法中断开了断点,但在运行时没有任何事情发生,似乎它永远不会被初始化nore调用...(我的SoapService初始化ok,但没有任何扩展).
我想手动创建web.config文件可能不足以让它被考虑在内,所以我想知道如何正确配置我的应用程序以拥有一个web.config文件以便使用我的SoapExtension(它应该去和初始化我的类,processMessage和chainStream的东西......).
(注意:这是我的第一个SoapExtension实现,我不确定我在做什么)
sol*_*hoe 12
我发现如何(或确实'在哪里')在app.config文件中插入web.config内容:
我必须在'ApplicationSettings'和'userSettings'之后插入它; 这是它在运行时不会产生任何错误的唯一地方(所以不需要web.config文件 - 虽然我仍然想知道如何配置应用程序,如果有人有答案......).
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
</configSections>
<applicationSettings>
</applicationSettings>
<userSettings>
</userSettings>
<system.web>
<webServices>
<soapExtensionTypes>
<add type="MyNameSpace.MySoapExtension,MyAssemblyFileName" priority="1"/>
</soapExtensionTypes>
</webServices>
</system.web>
<system.serviceModel>
<bindings />
<client />
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我的SoapExtension现在似乎已正确初始化,消息过滤工作正常.