Car*_*rra 1 .net c# code-generation
我正在将我们的web服务更改为异步模型.为此,我必须改变一百多种方法.
手动执行是一个(没有吸引力的)选项.有没有办法以编程方式解析和更改多个函数/代码文件?
例:
[Webmethod]
public void MyWebservice (string parameter1, string parameter2, string parameter3)
{
//Logic here
}
Run Code Online (Sandbox Code Playgroud)
并将其更改为:
public void InternalMyWebservice (string parameter1, string parameter2, string parameter3, AsyncCallback callback)
{
//Logic here
}
[Webmethod]
public void BeginMyWebservice (string parameter1, string parameter2, string parameter3, AsyncCallback callback, object asyncState)
{
//Queue InternalMyWebservice in a threadpool
}
public void EndMyWebservice(IAsyncResult asyncResult)
{
//Set return values
}
Run Code Online (Sandbox Code Playgroud)
对于每个Web服务,我必须做的事情基本相同.将名称更改为"InternalX",添加参数并创建开始和结束方法.
您应该能够使用该CSharpCodeProvider.Parse方法生成一个CodeCompileUnit实例,该 实例是代码的面向对象表示.有了它,你可以深入到你的方法,更改参数,添加新的方法和东西,当你完成后,你可以将代码保存回文本文件.您通过调用CodeDomProvider.GenerateCodeFromCompileUnit传递修改后的代码生成代码CodeCompileUnit
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |