확장 ASP.NET SignalR Backplane
NCache 을 확장 IDependency 확인자 그것과의 인터페이스 UseNCache
추가된 항목에 대한 캐시 이름과 이벤트 키만 필요한 메서드입니다. 이는 SignalR 구현에 대한 클라이언트의 등록 지점 역할을 합니다.
주의 사항
이 기능은 다음에서도 사용할 수 있습니다. NCache Professional.
UseNCache
다음 매개변수를 사용합니다.
파라미터 | 타입 | 상품 설명 |
---|---|---|
cacheName |
string |
의 캐시 이름 NCache 클라이언트가 업데이트를 추적할 수 있도록 해당 항목을 저장합니다. itemVersion . |
eventKey |
string |
추가된 항목에 대한 고유한 사용자 지정 키 속성 NCache 클라이언트 등록시. 이벤트 키는 애플리케이션에 따라 다릅니다. 애플리케이션의 각 클라이언트는 호출하는 동안 동일한 이벤트 키를 사용합니다. NCache의 확장 방법입니다. |
configuration |
NCacheScaleoutConfiguration |
의 대상 NCacheScaleoutConfiguration 확장하는 ScaleoutConfiguration 수업을 듣고 cacheName , eventKey , userid 및 password 회원으로. |
에 대한 전제 조건 NCache 확장 ASP.NET SignalR Backplane
- 다음 NuGet 패키지를 애플리케이션에 설치하십시오. NCache 버전 :
- 기업 : AspNet.SignalR.NCache
- 직업적인: AspNet.SignalR.NCache.전문적인
- 오픈소스: AspNet.SignalR.NCache.오픈소스
- 확장을 활용하려면 애플리케이션에 다음 네임스페이스를 포함하십시오. Startup.cs:
- Alachisoft.NCache.AspNet.SignalR
Microsoft.AspNet.SignalR
- 캐시가 실행 중이어야 합니다.
- 버전 >= 2.4.0을 사용해야 합니다. ASP.NET SignalR.
- API 세부 정보는 다음을 참조하세요. NCache.
- 추가된 데이터가 다음과 같은지 확인하세요. 직렬화 가능.
- 작업이 안전한지 확인하려면 에 설명된 대로 응용 프로그램 내에서 잠재적인 예외를 처리하는 것이 좋습니다. 처리 실패.
- 보이지 않는 예외를 처리하려면 다음을 참조하십시오. 문제해결 안내
Web.config 수정
추가 ConnectionOptions
~의 섹션 <configSections>
다음과 같다.
<configuration>
<configSections>
<section name="ConnectionOptions"
type="Alachisoft.NCache.AspNet.SignalR.SignalRConnectionOptions"/>
</configSections>
</configuration>
추가 ConnectionOptions
~의 섹션 <configuration>
클라이언트가 캐시에 연결할 때 사용할 다른 속성을 설정합니다. 매개변수에 대한 자세한 설명은 ConnectionOptions
대상, 참조 CacheConnectionOptions 속성.
<configuration>
<ConnectionOptions ClientBindIp="" AppName="DemoAppName" EnableClientLogs="false" LogLevel="info">
<Server name="20.200.21.39" port="9800"/>
<UserCredentials userID="john doe" password="1234" />
</ConnectionOptions>
</configuration>
추가 appSettings
섹션 지정 cacheName
및 eventKey
in <configuration>
다음과 같다.
<appSettings>
<add key="cache" value="demoCache" />
<add key="eventKey" value="chatApplication" />
</appSettings>
사용할 클라이언트 등록 NCache
의 인스턴스를 등록하십시오. UseNCache
방법 Startup.cs 다음 오버로드 중 하나에서 애플리케이션의
과부하 1:
public static IDependencyResolver UseNCache(this IDependencyResolver resolver, string cacheName, string eventKey, string userID = null, string password = null)
public class Startup
{
public void Configuration(IAppBuilder app)
{
string cache, eventKey;
cache = ConfigurationManager.AppSettings["cache"];
eventKey = ConfigurationManager.AppSettings["eventKey"];
GlobalHost.DependencyResolver.UseNCache(cache, eventKey);
//using NCache SignalR
app.MapSignalR();
}
}
과부하 2:
public static IDependencyResolver UseNCache(this IDependencyResolver resolver, NCacheScaleoutConfiguration configuration)
public class Startup
{
public void Configuration(IAppBuilder app)
{
string cache, eventKey, userId ="", password="";
cache = ConfigurationManager.AppSettings["cache"];
eventKey = ConfigurationManager.AppSettings["eventKey"];
var options = (CacheConnectionOptions)ConfigurationManager.GetSection("ConnectionOptions");
if (options!= null && options.UserCredentials != null)
{
userId = options.UserCredentials.UserID;
password = options.UserCredentials.Password;
}
var configuration = new NCacheScaleoutConfiguration(cache, eventKey, userId, password);
GlobalHost.DependencyResolver.UseNCache(configuration); //using NCache SignalR
app.MapSignalR();
}
}
추가 자료
NCache SignalR에 대한 샘플 애플리케이션 제공 GitHub의.
도 참조
.그물: Alachisoft.NCache.AspNet.SignalR 네임 스페이스.