Hug*_*opp 2 c# azure asp.net-web-api asp.net-web-api2 azure-service-fabric
我在学习本教程时遇到错误
cannot convert from 'System.Fabric.StatelessServiceContext' to 'System.Fabric.ServiceInitializationParameters'
Run Code Online (Sandbox Code Playgroud)
在尝试创建Service Fabric Web Api时,在其中进行了解释.
具体来说,我将在下一行中得到它:
return new[] {
new ServiceInstanceListener(initParams =>
new OwinCommunicationListener("api",new Startup(),initParams) )
};
Run Code Online (Sandbox Code Playgroud)
我没有尝试太多,因为Azure的Service Fabric是一个非常新的东西,所以在其他Web Api示例方面没有太多的东西.上面的教程本身甚至还没有完成.
有没有人有任何想法?
谢谢
Hug*_*opp 12
所以问题在于教程中存在拼写错误.
解决方案是_parameters在类中OwinCommunicationListener 应声明为StatelessServiceContext,而不是ServiceInitializationParameters.解决方案是Visual Studio的潜在修复建议的一种解决方案.
为了清楚起见,抛出错误的教程的原始代码如下:
private readonly IOwinAppBuilder _startup;
private readonly string _appRoot;
private readonly ServiceInitializationParameters _parameters;
private string _listeningAddress;
private IDisposable _serverHandle;
public OwinCommunicationListener(
string appRoot,
IOwinAppBuilder startup,
ServiceInitializationParameters serviceInitializationParameters
)
{
_startup = startup;
_appRoot = appRoot;
_parameters = serviceInitializationParameters;
}
Run Code Online (Sandbox Code Playgroud)
而正确的代码是这样的下一个,注意在3号线和11的区别:
private readonly IOwinAppBuilder _startup;
private readonly string _appRoot;
private readonly StatelessServiceContext _parameters;
private string _listeningAddress;
private IDisposable _serverHandle;
public OwinCommunicationListener(
string appRoot,
IOwinAppBuilder startup,
// Use StatelessServiceContext, NOT ServiceInitializationParameters
StatelessServiceContext serviceInitializationParameters
)
{
_startup = startup;
_appRoot = appRoot;
_parameters = serviceInitializationParameters;
}
Run Code Online (Sandbox Code Playgroud)
电话保持不变:
return new[] {
new ServiceInstanceListener(initParams =>
new OwinCommunicationListener("api",new Startup(),initParams) )
};
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助.
| 归档时间: |
|
| 查看次数: |
692 次 |
| 最近记录: |