Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试在windows Azure webservice的AppFabricCache中存储sessionState时引发SocketException_C#_Asp.net_Caching_Azure - Fatal编程技术网

C# 尝试在windows Azure webservice的AppFabricCache中存储sessionState时引发SocketException

C# 尝试在windows Azure webservice的AppFabricCache中存储sessionState时引发SocketException,c#,asp.net,caching,azure,C#,Asp.net,Caching,Azure,我正在尝试一个简单的示例项目,以了解如何配置WindowsAzure云服务以使用同处缓存 我正在使用VS2010,并且已经遵循了这一点,但是当我到达关于共址缓存的一节的末尾时,我无法在本地运行我的项目。它在工作时很好 我得到了以下例外情况:(我希望它是可读的…) “/”应用程序中出现错误 请求的名称有效,但未找到请求类型的数据 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 异常详细信息:System.Net.Sockets.Socke

我正在尝试一个简单的示例项目,以了解如何配置WindowsAzure云服务以使用同处缓存

我正在使用VS2010,并且已经遵循了这一点,但是当我到达关于共址缓存的一节的末尾时,我无法在本地运行我的项目。它在工作时很好

我得到了以下例外情况:(我希望它是可读的…)

“/”应用程序中出现错误

请求的名称有效,但未找到请求类型的数据

描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:System.Net.Sockets.SocketException:请求的名称有效,但未找到请求类型的数据

源错误:

在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

堆栈跟踪:

[SocketException(0x2afc):请求的名称有效,但未找到请求类型的数据] Microsoft.ApplicationServer.Caching.AsyncResultNoResult.EndInvoke()+202 Microsoft.ApplicationServer.Caching.AsyncResult`1.EndInvoke()+40 Microsoft.ApplicationServer.Caching.SocketConnectionFactory.EndConnect(IAsyncResult asyncResult)+75 Microsoft.ApplicationServer.Caching.TcpClientChannelFactory.TcpConnectionCallback(IAsyncResult结果)+182

[DataCacheException:错误代码:子状态:暂时失败。请稍后重试。(一个或多个指定的缓存服务器不可用,这可能是由繁忙的网络或服务器造成的。对于本地缓存群集,还请验证以下条件。确保已为此客户端帐户授予安全权限,并检查是否允许通过防火墙在所有缓存主机上使用AppFabric缓存服务。另外服务器上的MaxBufferSize必须大于或等于从客户端发送的序列化对象大小。)。其他信息:客户端正在尝试与服务器通信:net。tcp://SessionStateDemo:24233.] Microsoft.ApplicationServer.Caching.DataCache.ThroweException(ErrStatus ErrStatus,Guid trackingId,Exception responseException,Byte[][]有效负载,EndpointID destination)+767 Microsoft.ApplicationServer.Caching.DataCache.ThroweException(ResponseBy respBody,EndpointID destination)+149 Microsoft.ApplicationServer.Caching.DataCacheFactory.EstablishConnection(IEnumerable
1服务器、RequestBody请求、Func
3 sendMessageDelegate、DataCacheReadyRetryPolicy retryPolicy)+1313 Microsoft.ApplicationServer.Caching.c__DisplayClass5.b__2(请求主体请求)+198 Microsoft.ApplicationServer.Caching.SocketClientProtocol.SendReceive(IVelocityRequestPacket请求,Func
2委托,端点ID和目标)+121
Microsoft.ApplicationServer.Caching.SocketClientProtocol.Initialize(IEnumerable
1服务器)+1225 Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCache(字符串cacheName、CreateNewCacheDelegate cacheCreationDelegate、DataCacheInitializationViacyDelegate initializeDelegate)+1104 Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCache(字符串cacheName)+131 Microsoft.Web.DistributedCache.DataCacheFactoryWrapper.CreateDataCacheFromFactory(DataCacheFactory工厂,字符串cacheName)+63 Microsoft.Web.DistributedCache.CacheHelpers.RunCacheCreationHooks(CacheConnectionEventTargets fetchingEventArgs,IDataCacheFactory dataCacheFactory,对象发送者,EventHandler
1 fetchingHandler,EventHandler
1 fetchedHandler)+306 Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider.CreateInternalProvider(IHttpRuntime httpRuntime,SessionInitializationData initData,IDataCacheFactory dataCacheFactory,EventHandler
1 cacheFetching,EventHandler
1 cacheFetched)+399 Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider.GetInternalProvider()+315 Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider.CreateNewsStoreData(HttpContext上下文,Int32超时)+59 System.Web.SessionState.SessionStateModule.InitStateStoreItem(布尔addToContext)+160 System.Web.SessionState.SessionStateModule.CompleteAcquiRepreat()+340 System.Web.SessionState.SessionStateModule.BeginAcquireState(对象源、事件参数e、异步回调cb、对象外部数据)+1269 System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+12698078 System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+288

有人能告诉我这里发生了什么吗?我怎样才能解决这个问题

那篇教程中有什么我需要做的吗

编辑:我正在使用VS2010 Professional和WindowsAzure SDK 2.1。WidnowsAzure缓存包是v2.1.0

相关web.config部分:

<system.web>
...
<!-- Windows Azure Caching session state provider -->
    <sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
      <providers>
        <add name="AFCacheSessionStateProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" dataCacheClientName="default" applicationName="AFCacheSessionState"/>
      </providers>
    </sessionState>
...
<sytem.web>

    <dataCacheClients>
    <dataCacheClient name="default">
      <!--To use the in-role flavor of Windows Azure Caching, set identifier to be the cache cluster role name -->
      <autoDiscover isEnabled="true" identifier="SessionStateDemo" />
    </dataCacheClient>
  </dataCacheClients>

...
...

基于此,看起来Windows Azure云服务必须是一个启动项目才能正常工作。否则,Windows Azure运行时将不会初始化导致SocketException的原因。

您使用哪些版本的Windows Azure SDK和Windows Azure缓存?Azure SDK是v2.1,Windows Azure缓存版本是2.4。看起来您需要indows Azure SDK版本2.4,类似的问题。2.1是支持Visual Studio 2010的最新SDK版本…如果我安装了Azure Cache 2.1以匹配它会更好吗?或者这些版本必须匹配吗?从Azure Cache nuget软件包描述来看,它们必须匹配。如果v.2.1是VS2010的最新SDK,我建议使用。您好